如何解决“504 Gateway Time-out”错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何解决“504 Gateway Time-out”错误相关的知识,希望对你有一定的参考价值。
504 gateway time-out怎么解决?nginx所报告的“504 gateway time-out”的含义指定的客户端所发出的的请求没有到达网关,换句话说就是请求没有到可以执行的php-fpm。
一般来说,Nginx报告的“504 gateway time-out”则是与nginx.conf的设置有关。
504 gateway time-out怎么解决
1.先查看Nginx配置
2.然后停掉192.168.9.19的相关服务,再访问:
3.修改源代码src/http/ngx_http_special_response.c,找到如下部分:
4.修改以下内容:
5.重新编译Nginx,然后再访问:
504 gateway time-out故障虽然是隐藏了,可只能骗得了别人一时,最终还得解决问题。无论是502错误还是504错误,都有可能是Nginx的相关错误,也可能是后端服务器的问题。那么我们就从这些方面入手了解一下问题的所在。 参考技术A 504 gateway time-out怎么解决?
Nginx所报告的“504 gateway time-out”的含义指定的客户端所发出的的请求没有到达网关,换句话说就是请求没有到可以执行的PHP-fpm。
一般来说,Nginx报告的“504 gateway time-out”则是与nginx.conf的设置有关。
504 gateway time-out怎么解决
1.先查看Nginx配置
2.然后停掉192.168.9.19的相关服务,再访问:
3.修改源代码src/http/ngx_http_special_response.c,找到如下部分:
4.修改以下内容:
5.重新编译Nginx,然后再访问:
504 gateway time-out故障虽然是隐藏了,可只能骗得了别人一时,最终还得解决问题。无论是502错误还是504错误,都有可能是Nginx的相关错误,也可能是后端服务器的问题。那么我们就从这些方面入手了解一下问题的所在。
(1)首先需要确定的是后端服务器启动没有,当然在这里就是php-fpm进行启动没有。
(2)其次是确定php-fpm的worker进程是否够用。
(3)FastCGI缓存或代理的缓存情况。
(4)PHP执行时间长。
如何解决nginx 504 Gateway Time-out错误
参考技术A 主要访问大流量网站或者运营有较多数据的网站时候504GatewayTime-out就字面意思,我们可以理解为网页请求超时,也就是浏览网站网页所发出的请求没有反应或者未响应,在网站程序层面来说,就是请求未能够执行相应的PHP-CGI程序,或者PHP-CGI程序未能做出相应的处理,又或者是CGI程序的响应处理结果未能够反馈到浏览器或者未能及时反馈到浏览器。504GatewayTime-out错误多是存在于Nginx网站服务器环境下,多与nginx.conf与php-fpm.conf设置是否正确合理有关。504GatewayTime-out错误的解决方法就是根据网站服务器性能及网站流量等诸多因素整合考虑,正确合理的设置niginx.conf和php-fpm.conf配置。进行正确合理nginx.conf配置,我们需要先了解和清楚我们网站服务器的配置性能,包括CPU、内存等,并对网站服务器进行必要的性能测试(可参考:vps主机性能测试方法详解),从而准确的掌握网站服务器自身性能状况;其次,是通过网站统计代码的添加,分析段时间内网站流量状况,比如:百度统计、CNZZ站长统计等,掌握网站日流量及PHP-CGI请求的大概情况;后,根据我们掌握的服务器性能状况及网络流量情况,合理的对nginx.conf中的下列字句进行合理正确的设置。fastcgi_connect_timeout300s;fastcgi_send_timeout300s;fastcgi_read_timeout300s;fastcgi_buffer_size128k;fastcgi_buffers8128k;#8128fastcgi_busy_buffers_size256k;fastcgi_temp_file_write_size256k;fastcgi_intercept_errorson;这些字句的设置规定了PHP-CGI的连接、发送和读取时间限制,需根据服务器性能及网络流量综合考虑设置,时间设置过长会给网站服务器造成压力,导致网站响应缓慢,甚至服务器宕机;时间设置过短,则就会出现504GatewayTime-out或者其他CGI无响应错误。还有就是php-fpm.conf中max_children与request_terminate_timeout两个重要参数的设置。这两个参数的设置需要我们根据PHP程序情况及服务器带宽状况综合考虑并计算出合理准确的值,才能够避免504GatewayTime-out或者其他CGI无响应错误的出现。通常情况下,般网站,可将request_terminate_timeou设置在900s左右,而max_children值根据服务器内存大小和CGI请求数目设置为合理的数值,般设置为800M左右。谢谢采纳以上是关于如何解决“504 Gateway Time-out”错误的主要内容,如果未能解决你的问题,请参考以下文章
如何解决nginx 504 Gateway Time-out错误