前端代理504
include /etc/nginx/conf.d/*.conf; #用于tomcat反向代理,解决nginx 504错误 proxy_connect_timeout 300; #单位秒 proxy_send_timeout 300; #单位秒 proxy_read_timeout 300; #单位秒 proxy_buffer_size 16k; proxy_buffers 4 64k; proxy_busy_buffers_size 128k; proxy_temp_file_write_size 128k; # ps:以timeout结尾配置项时间要配置大点 }
server
location / { proxy_pass http://182.61.131.62:33060/; proxy_redirect off; proxy_send_timeout 300; proxy_read_timeout 300; proxy_connect_timeout 300; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
php的php-fpm.cnf
将max_children
由之前的10
改为30
,这样操作是为了保证有充足的php-cgi进程可以被使用。
将request_terminate_timeout
由之前的0秒
改成60秒
,这样使php-cgi进程处理脚本的超时时间提高到60秒,可以防止进程被挂起以提高利用效率。
情况二解决办法(nginx配置修改):
为了减少fastcgi的请求次数,尽量维持buffers不变,我们要更改nginx的几个配置项,如下:
将fastcgi_buffers
由4 64k
改为2 256k
;
将fastcgi_buffer_size
由64k
改为128k
;
将fastcgi_busy_buffers_size
由128k
改为256k
;
将fastcgi_temp_file_write_size
由128k
改成256k
。