504 Gateway Timeout 是504网关超时的意思。
504错误是(网关超时) 服务器作为网关或代理,但是没有及时从上游服务器收到请求。
服务器(不一定是 Web 服务器)正在作为一个网关或代理来完成客户(如您的浏览器或我们的 CheckUpDown 机器人)访问所需网址的请求。 为了完成您的 HTTP 请求, 该服务器访问一个上游服务器, 但没得到及时的响应。
错误报告背景
504网关超时错误大多存在于nginx网站服务器的环境中,大多与nginx.conf和php-fpm.conf设置是否正确合理有关。解决方案是根据网站服务器性能、网站流量等诸多因素,正确合理地设置niginx.conf和php-fpm.conf的配置。
溶液
为了正确合理地配置nginx.conf,我们需要了解和理解我们网站服务器的配置性能,包括cpu、内存等。并对网站服务器进行必要的性能测试(参考vps主机性能测试方法的详细描述),从而准确掌握网站服务器本身的性能状态;
其次,通过添加网站统计代码,分析一段时间内的网站流量情况,并掌握网站日常流量和php-cgi请求的概况;
比较后,根据我们所了解的服务器性能和网络流量,我们在nginx.conf中合理正确的设置了以下语句。
fastcgi _ connect _ timeout300s
fastcgi _ send _ timeout300s
fastcgi _ read _ timeout300s
fastcgi _ buffer _ size128k
fastcgi _ buffers8128k#8128
fastcgi _ busy _ buffers _ size256k
fastcgi _ temp _ file _ write _ size 256k;
fastcgi _ intercept _ errorson
以及php-fpm.conf中max_children和request _ end _ time out的设置这两个参数的设置需要我们根据php程序和服务器带宽综合考虑,计算出合理准确的值,以避免504 gateway超时或其他cgi无响应错误。