当Nginx服务出现 504 Gateway Time-out

在服务器做端口监听与转发,访问时出现 504 Gateway Time-out,也就是我们常说的504 网关超时。 一般看来, 这种情况可能是由于nginx默认

在服务器做端口监听与转发,访问时出现 504 Gateway Time-out,也就是我们常说的504 网关超时。

 

一般看来, 这种情况可能是由于nginx默认的fastcgi进程响应的缓冲区太小造成的, 这将导致fastcgi进程被挂起, 如果你的fastcgi服务对这个挂起处理的不好, 那么最后就极有可能导致504 Gateway Time-out

现在的网站, 尤其某些论坛有大量的回复和很多内容的, 一个页面甚至有几百K
默认的fastcgi进程响应的缓冲区是8K, 我们可以设置大点
在nginx.conf里, 加入fastcgi_buffers:

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

http:{......#表示设置fastcgi缓冲区为8×128kfastcgi_buffers 8 128k;#超时参数设置成60ssend_timeout 60;......}



只要调整了这两个参数, 结果就是没有再显示那个超时, 可以说效果不错, 但是也可能是由于其他的原因,期待有更多的发现。