网站提示 504 Gateway Time-out的原因及解决方法
最近个人网站提示Nginx 504 Gateway Time-out,错误访问出错,经分析找到504 Gateway原因及解决方法如下。
Nginx报 504 Gateway原因
Nginx报504 gateway timeout错误引起,一个是文件配置问题,另一个是相关处理时长了,最后也有可能是资源不足导致了,一起来看看。
504 Gateway Time-out字面意思,我们可以理解为网页请求超时,也是浏览网站网页所发出的请求没有反应或者未响应,在网站phpcms层面来说,是请求未能够执行相应的PHP-CGI程序,或者PHP-CGI程序未能做出相应的处理,又或者是CGI程序的响应处理结果未能够反馈到浏览器或者未能及时反馈到浏览器。
来自火狐Mozilla对504 Gateway Timeout解读
504
Gateway Timeout
是一种HTTP协议的服务器端错误状态代码,表示扮演网关或者代理的服务器无法在规定的时间内获得想要的响应。
Gateway (网关)在计算机网络体系中可以指代不同的设备,504 错误通常不是在客户端可以修复的,而是需要由途径的Web服务器或者代理服务器对其进行修复。
浏览器兼容性
Nginx 504 gateway time-out怎么解决?
504 Gateway Time-out错误多是存在于Nginx网站服务器环境下,多与nginx.conf与php-fpm.conf设置是否正确合理有关。504GatewayTime-out错误的解决方法是根据网站服务器性能及网站流量等诸多因素整合考虑,正确合理的设置niginx.conf和php-fpm.conf配置。
进行正确合理nginx.conf配置,我们需要首先了解和清楚我们网站服务器的配置性能,包括CPU、内存等,并对网站服务器进行必要的性能测试,从而准确的掌握网站服务器自身性能状况;
504 gateway timeout错误解读
504 Gateway Time-out就字面意思,我们可以理解为网页请求超时,也就是浏览网站网页所发出的请求没有反应或者未响应,在网站程序层面来说,就是请求未能够执行相应的PHP-CGI程序,或者PHP-CGI程序未能做出相应的处理,又或者是CGI程序的响应处理结果未能够反馈到浏览器或者未能及时反馈到浏览器。
是由于nginx默认的fastcgi进程响应缓冲区太小造成: 这种情况下导致fastcgi进程被挂起,如果fastcgi服务队这个挂起处理不是很好的话,就可能提示“504 Gateway Time-out”错误。
每次您在浏览器中访问网站时,浏览器都会向托管该网站的Web服务器发送请求。服务器处理请求并以请求的资源响应。
服务器响应包括许多HTTP状态代码之一,以指示对浏览器的响应状态。但是,并非所有这些HTTP状态代码都是错误。例如,状态码为200 OK表示服务器成功处理了请求,并且“一切都很好”。
HTTP状态代码的5xx类指示服务器出了点问题,服务器知道了此错误,并且无法执行客户端请求。结果,它们也称为服务器错误5xx状态代码。
正式,五个状态代码的5XX类(下指定500,501,502,503,504)。您可能临到许多非官方的代码太(506,507,509,520,等)。
504网关错误 视频教程
来自Youtube:HTTP Status Code 504: What Is a 504 Error “Gateway Time Out” Response Code?
视频教程原文:https://www.youtube.com/watch?v=zPBkuH7U-Cc
1,网站主机资源不足
如下图所示:该主机内存128.00MB,根本跑不动WordPress网站程序所以资料不足会导致504 gateway timeout。
把主机内存提升到512M或更高就可以解决了。
2,服务器运行环境
修改Nginx的服务器配置,
通过服务器优化设置,可以把Nginx的超时时间上调。看看时间是否符合要求,在nginx.config里面的三个参数:
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
以上的单位是秒。
如果使用了Nginx的代理,可以在块里加上:
proxy_connect_timeout 300s;
proxy_send_timeout 300s;
proxy_read_timeout 300s;
3,其他原因
根据具体服务器进行排查,发现网站的具体问题进行修改。具体错误可以网上查找解决办法,或者留言联系博主帮你解决此类问题。
除此之外,还有以下原因会造成504 gateway time-out:
- 首先需要确定的是后端服务器启动没有,当然在这里是php-fpm进行启动没有。
- 其次是确定php-fpm的worker进程是否够用。
- FastCGI缓存或代理的缓存情况。
- PHP执行时间长。
更多关于504错误:
nginx 出现504 Gateway Time-out的解决方法 https://blog.csdn.net/weixin_30872157/article/details/97325365 https://blog.csdn.net/wjsaxx/article/details/94354051
504 Gateway Timeout – HTTP | MDN: https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Status/504
原创文章,作者:凌哥SEO,如若转载,请注明出处:https://www.seoxyg.com/1481.html