本节内容:
504 Gateway Time-out问题的解决方法。
504 Gateway Time-out问题常见于使用nginx作为web server的服务器的网站。
在升级discuz论坛时遇到了同样的问题。
一般看来, 这种情况可能是由于nginx默认的fastcgi进程响应的缓冲区太小造成的, 这将导致fastcgi进程被挂起, 如果fastcgi服务对这个挂起处理的不好, 那么就有可能导致504 Gateway Time-out。
分析:
现在的网站, 尤其某些论坛有大量的回复和很多内容的, 一个页面甚至有几百K
默认的fastcgi进程响应的缓冲区是8K,可以设置大点。
在nginx.conf里, 加入:
fastcgi_buffers 8 128k
表示设置fastcgi缓冲区为8×128k。
当然,如果在进行某一项即时的操作,可能需要nginx的超时参数调大点。
例如,设置成60秒:
send_timeout 60;
只是调整了这两个参数,结果就没有再显示那个超时。