ubuntu14.04 nginx报upstream timed out 问题原因,解决办法

前端之家收集整理的这篇文章主要介绍了ubuntu14.04 nginx报upstream timed out 问题原因,解决办法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

访问PHP时一直出现http504GatewayTime-out错误

错误日志里看到几百个upstreamtimedout的错误

2016/11/01 10:32:45[error]3897#0:*1831129upstreamtimedout(110:Connectiontimedout)whilereadingresponseheaderfromupstream,client:42.92.152.137,server:xxx.xxx.cn,request:“GET/HTTP/1.1″,upstream:“fastcgi://unix:/var/run/PHP5-fpm.sock:″,host:“xxx.xxx.cn”,referrer:“http://xxx.xxx.cn/”

从日志的表示来看应该不是Nginx的问题,而是fast-cgi执行超时没有及时返回数据到ngnix的问题.可web和数据库负载都不高,不应该是程序超时的问题.

一般看来,这种情况可能是由于Nginx默认的fastcgi进程响应的缓冲区太小造成的,这将导致fastcgi进程被挂起,如果你的fastcgi服务对这个挂起处理的不好,那么最后就极有可能导致504GatewayTime-out
现在的网站,尤其某些论坛有大量的回复和很多内容的,一个页面甚至有几百K
默认的fastcgi进程响应的缓冲区是8K,我们可以设置大点
Nginx.conf里,加入:

fastcgi_buffers8128k

这表示设置fastcgi缓冲区为8×128k
当然如果您在进行某一项即时的操作,可能需要Nginx的超时参数调大点,例如设置成60秒:

send_timeout60;

Nginx反代理超时报错,解决方法

server{
listen80;
server_name*.xywy.com;
large_client_header_buffers416k;
client_max_body_size300m;
client_body_buffer_size128k;
proxy_connect_timeout600;
proxy_read_timeout600;
proxy_send_timeout600;
proxy_buffer_size64k;
proxy_buffers432k;
proxy_busy_buffers_size64k;
proxy_temp_file_write_size64k;

……………………

service Nginx restart

vi /etc/PHP5/fpm/PHP-fpm.conf 增加以下配置

request_terminate_timeout=30s (PHP.ini早就是max_execution_time=30

提示变成502了,


一看PHP错误日志如下:

2016/11/01 10:36:46 [error] 5471#0: *238740 connect() to unix:/var/run/PHP5-fpm.sock Failed (11: Resource temporarily unavailable) while connecting to upstream,client: 42.92.152.137,server: *.*.cn,request: "GET / HTTP/1.1",upstream: "fastcgi://unix:/var/run/PHP5-fpm.sock:",host: "*.*.cn"

肯定是之前修改PHP-fpm.conf没有重启PHP-fpm的缘故

重启 /etc/init.d/PHP5-fpm restart 问题解决

猜你在找的Ubuntu相关文章