本文目录:
- 1、打开网页显示504 Gateway Time-out是什么意思
- 2、网页出现“504 Gateway Time-out”,没有其它信息是什么原因?
- 3、如何解决“504 Gateway Time-out”错误
- 4、服务器提示504 Gateway Time-out怎么办?
- 5、上网有时常常出现这个504 Gateway Time-out这是什么意思啊
打开网页显示504 Gateway Time-out是什么意思
504错误代表网关超时 (Gateway timeout),是指服务器作为网关或代理,但是没有及时从上游服务器收到请求。
任何客户端在和网络服务器通讯时,都需经过以下循环:
1、从站点的 IP 名称获得一个 IP 地址。这个对应关系 ( 即由 IP 名称向 IP 地址转换的对应关系 ) 由域名服务器 (DNSs) 提供。
2、打开一个 IP 套接字 (socket) 连接到该 IP 地址。
3、通过该套接字写 HTTP 数据流。
4、从Web服务器接受响应的 HTTP 数据流。该数据流包括状态编码, 其值取决于 HTTP 协议 。 解析该数据流得到 状态编码和其他有用信息。
5、该错误在以上所述的最后一步生成,即当客户端收到 HTTP 状态编码 并识别其为 ‘504’ 时。
扩展资料
特性
1、可扩展性
服务器必须具有一定的“可扩展性”,这是因为企业网络不可能长久不变,特别是在当今信息时代。
2、易使用性
服务器的功能相对于PC机来说复杂许多,不仅指其硬件配置,更多的是指其软件系统配置。服务器要实现如此多的功能,没有全面的软件支持是无法想象的。
3、可用性
对于一台服务器而言,一个非常重要的方面就是它的“可用性”,即所选服务器能满足长期稳定工作的要求,不能经常出问题。其实就等同于Sun所提出的可靠性(Reliability)。
4、易管理性
在服务器的主要特性中,还有一个重要特性,那就是服务器的“易管理性”。
参考资料来源:百度百科——服务器
参考资料来源:百度百科——504错误
网页出现“504 Gateway Time-out”,没有其它信息是什么原因?
504网关超时错误
大多数情况下,504网关超时错误意味着任何其他服务器花费的时间太长以至于“超时”,可能是宕机或不能正常工作。
如何解决“504 Gateway Time-out”错误
我们在访问大流量网站或者运营有较多数据的网站时候,偶尔会出现504 Gateway Time-out错误,这多是网站服务器配置不当导致的,下面分享一下504GatewayTime-out错误的解决方法。
01
代码释义
504 Gateway Time-out就是字面意思,可以理解为网页请求超时,也就是浏览网站网页所发出的请求没有反应或者未响应,在网站程序层面来说,就是请求未能够执行相应的PHP-CGI程序,或者PHP-CGI程序未能做出相应的处理,又或者是CGI程序的响应处理结果未能够反馈到浏览器或者未能及时反馈到浏览器。
02
报错背景
504 Gateway Time-out错误多是存在于Nginx网站服务器环境下,多与nginx.conf与php-fpm.conf设置是否正确合理有关。解决方法就是根据网站服务器性能及网站流量等诸多因素整合考虑,正确合理的设置niginx.conf和php-fpm.conf配置。
03
解决方法
进行正确合理nginx.conf配置,我们需要首先了解和清楚我们网站服务器的配置性能,包括CPU、内存等,并对网站服务器进行必要的性能测试(可参考:vps主机性能测试方法详解),从而准确的掌握网站服务器自身性能状况;
04
其次,是通过网站统计代码的添加,分析一段时间内网站流量状况,比如:CNZZ站长统计等,掌握网站日流量及PHP-CGI请求的大概情况;
05
最后,根据我们掌握的服务器性能状况及网络流量情况,合理的对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_size256k;
fastcgi_intercept_errorson;
06
还有就是php-fpm.conf中max_children与request_terminate_timeout两个重要参数的设置。这两个参数的设置需要我们根据PHP程序情况及服务器带宽状况综合考虑并计算出合理准确的值,才能够避免504 Gateway Time-out或者其他CGI无响应错误的出现。
服务器提示504 Gateway Time-out怎么办?
情况一:由于nginx默认的fastcgi进程响应缓冲区太小造成
这种情况下导致fastcgi进程被挂起,如果fastcgi服务队这个挂起处理不是很好的话,就可能提示“504 Gateway Time-out”错误。
情况一解决办法:
默认的fastcgi进程响应的缓冲区是8K,我们可以设置大一点,在nginx.conf里,加入:fastcgi_buffers 8 128k
这表示设置fastcgi缓冲区为8块128k大小的空间。
情况一解决办法(改进):
在上述方法修改后,如果还是出现问题,我们可以继续修改nginx的超时参数,将参数调大一点,如设置为60秒:
send_timeout 60;
经过这两个参数的调整,结果没有再提示“504 Gateway Time-out”错误,说明效果还是挺不错的,问题基本解决。
情况二:PHP环境的配置问题
这里我们需要对php-fpm和nginx进行配置修改。因为这种情况下,也会出现“504 Gateway Time-out”错误提示。
情况二解决办法( php-fpm配置修改):
将max_children由之前的10改为30,这样操作是为了保证有充足的php-cgi进程可以被使用。
将request_terminate_timeout由之前的0秒改成60秒,这样使php-cgi进程处理脚本的超时时间提高到60秒,可以防止进程被挂起以提高利用效率。
情况二解决办法(nginx配置修改):
为了减少fastcgi的请求次数,尽量维持buffers不变,我们要更改nginx的几个配置项,如下:
将fastcgi_buffers由4 64k改为2 256k;
将fastcgi_buffer_size 由64k改为128k;
将fastcgi_busy_buffers_size由128k改为256k;
将fastcgi_temp_file_write_size由128k改成256k。
如何解决504 Gateway Time-out
第一种办法:
把max_children由之前的10改为现在的30,这样就可以保证 有充足的php-cgi进程可以被使用;
把request_terminate_timeout由之前的0s改为60s,这样php-cgi进程 处理脚本的超时时间就是60秒,可以防止进程都被挂起,提高利用效率。
接着再更改nginx的几个配置项,减少FastCGI的请求次 数,尽量维持buffers不变:fastcgi_buffers由 4 64k 改为 2 256k;
fastcgi_buffer_size 由 64k 改为 128K;
fastcgi_busy_buffers_size 由 128K 改为 256K;
fastcgi_temp_file_write_size 由 128K 改为 256K。
上网有时常常出现这个504 Gateway Time-out这是什么意思啊
504 Gateway Time-out就字面意思,我们可以理解为网页请求超时,也就是浏览网站网页所发出的请求没有反应或者未响应,在网站程序层面来说,就是请求未能够执行相应的PHP-CGI程序,或者PHP-CGI程序未能做出相应的处理,又或者是CGI程序的响应处理结果未能够反馈到浏览器或者未能及时反馈到浏览器。
是由于nginx默认的fastcgi进程响应缓冲区太小造成: 这种情况下导致fastcgi进程被挂起,如果fastcgi服务队这个挂起处理不是很好的话,就可能提示“504 Gateway Time-out”错误。
解决方法:
1、点击系统桌面左下角的【开始】,在开始菜单中点击【命令提示符(管理员)(A)】。
2、复制:ipconfig /flushdns命令,在打开的管理员命令提示符窗口中,右键点击空白处,将ipconfig /flushdns命令复制到窗口中。
3、当ipconfig /flushdns命令复制完成以后,按下键盘上的回车键(Enter),
显示:Windows IP配置
已成功刷新 DNS 解析缓存
退出管理员命令提示符窗口。
4、这样就能正常上网了。
【504gateway】的内容来源于互联网,如引用不当,请联系我们修改。
网友留言: