为什么我打开世爵娱乐504 Gateway Time-out错误的解决方法

504 Gateway Time-out 网站打开后就提示这样。_百度知道
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。  情况二解决办法修改完,需要重新加载php-fpm和nginx的配置,然后再进行测试。之后就没有发现“504 Gateway Time-out”错误,效果也还是不错的。
采纳率:82%
来自团队:
//zhidao.baidu.com/question/“网关,超时”就是没连接到网关。呵
本回答被提问者采纳
04 Gateway Time-out,是指 504
网关 连接时间超出 请 查看 路由器 或猫 设备是否有问题,如果正常,最大的可能是网络运营商的问题,如
“网关,超时”就是没连接到网关。再试试
出现504怎么办呢
其他2条回答
为您推荐:
其他类似问题
gateway的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。  我们经常会发现大量的nginx服务器访问时会提示nginx 504 Gateway Time-out错误了,下面我来总结了一些解决办法,有需要了解的同学可进入参考。  一般看来, 这种情况可能是由于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;  我只是调整了这两个参数, 结果就是没有再显示那个超时, 可以说效果不错  另一篇文章  首先是更改php-fpm的几处配置:  把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。  好了,重新加载php-fpm和nginx的配置,再次测试,至今两周时间内没有再出现504 Gateway Time-out的情况,算是达到效果了。  另外,php-fpm的默认静态处理方式会使得php-cgi的进程长期占用内存而无法释放,这也是导致nginx出错的原因之一,因此可以将php-fpm的处理方式改成apache模式。 &value name=&style&&apache-like&/value&
另外的解决方案
完美解决Nginx 504 Gateway time-out 最近用dedecms建的一个网站新增了大批内容,有三个栏目的内容量都超过了两千篇,超过两千三百篇的两个栏目在生成栏目列表的时候就出现了504 Gateway time-out 服务器用的是nginx,我不是很懂,服务器维护人员在网上随便找了一篇文章,修改了nginx的缓存设置,不管用,他就不管了,可是我不能不管啊,不能生成列表页面,那后面的内容不是都不能用了么?  把数据库下载到本地,在本地配置了nginx,试了很多遍,都不行,又改到Apache下面,更夸张,生成了83个页面就不能继续了,看来还是nginx更厉害一点,虽然出现504 Gateway time-out,但好歹能够全部生成。  只好又继续在网上找更多的解决办法,尝试了N多次以后,终于让我找到了一个有用的方法,想想以后可能还有碰到这样的问题,就把那篇文章复制过来放在这里,供以后参考吧,对有同样问题的朋友也是一个帮助。& && &&&下面部分是引用部分,我自己不懂技术的,在我的dedecms5.6里面有用,别人的自己尝试吧。  Nginx 502 Bad Gateway的含义是请求的PHP-CGI已经执行,但是由于某种原因(一般是读取资源的问题)没有执行完毕而导致PHP-CGI进程终止。  Nginx 504 Gateway Time-out的含义是所请求的网关没有请求到,简单来说就是没有请求到可以执行的PHP-CGI。  解决这两个问题其实是需要综合思考的,一般来说Nginx 502 Bad Gateway和php-fpm.conf的设置有关,而Nginx 504 Gateway Time-out则是与nginx.conf的设置有关。  而正确的设置需要考虑服务器自身的性能和访客的数量等多重因素。  以我目前的服务器为例子CPU是奔四1.5G的,内存1GB,CENTOS的系统,访客大概是50人左右同时在线。  但是在线的人大都需要请求PHP-CGI进行大量的信息处理,因此我将nginx.conf设置为:  fastcgi_connect_timeout 300s;  fastcgi_send_timeout 300s;  fastcgi_read_timeout 300s;  fastcgi_buffer_size 128k;  fastcgi_buffers 8 128k;#8 128  fastcgi_busy_buffers_size 256k;  fastcgi_temp_file_write_size 256k;  fastcgi_intercept_  这里最主要的设置是前三条,即  fastcgi_connect_timeout 300s;  fastcgi_send_timeout 300s;  fastcgi_read_timeout 300s;  这里规定了PHP-CGI的连接、发送和读取的时间,300秒足够用了,因此我的服务器很少出现504 Gateway Time-out这个错误。最关键的是php-fpm.conf的设置,这个会直接导致502 Bad Gateway和504 Gateway Time-out。  下面我们来仔细分析一下php-fpm.conf几个重要的参数:  php-fpm.conf有两个至关重要的参数,一个是&max_children&,另一个是&request_terminate_timeout&  我的两个设置的值一个是&40&P,一个是&900&P,但是这个值不是通用的,而是需要自己计算的。  计算的方式如下:  如果你的服务器性能足够好,且宽带资源足够充足,PHP脚本没有系循环或BUG的话你可以直接将&request_terminate_timeout&设置成0s。0s的含义是让PHP-CGI一直执行下去而没有时间限制。而如果你做不到这一点,也就是说你的PHP-CGI可能出现某个BUG,或者你的宽带不够充足或者其他的原因导致你的PHP-CGI能够假死那么就建议你给&request_terminate_timeout&赋一个值,这个值可以根据你服务器的性能进行设定。一般来说性能越好你可以设置越高,20分钟-30分钟都可以。由于我的服务器PHP脚本需要长时间运行,有的可能会超过10分钟因此我设置了900秒,这样不会导致PHP-CGI死掉而出现502 Bad gateway这个错误。  而&max_children&这个值又是怎么计算出来的呢?这个值原则上是越大越好,php-cgi的进程多了就会处理的很快,排队的请求就会很少。设置&max_children&也需要根据服务器的性能进行设定,一般来说一台服务器正常情况下每一个php-cgi所耗费的内存在20M左右,因此我的&max_children&我设置成40个,20M*40=800M也就是说在峰值的时候所有PHP-CGI所耗内存在800M以内,低于我的有效内存1Gb。而如果我的&max_children&设置的较小,比如5-10个,那么php-cgi就会&很累&,处理速度也很慢,等待的时间也较长。如果长时间没有得到处理的请求就会出现504 Gateway Time-out这个错误,而正在处理的很累的那几个php-cgi如果遇到了问题就会出现502 Bad gateway这个错误。
wdcp在N+A里,根本就用不到php-fpm可以调整下nginx.conf的部分参数
又一个解决方法
&在CentOS下配置lnmp组合基本上用的都是同样的配置文件,一直都没出现过问题,可最近在一个vps上安装同样的环境之后,网站在线10多人就出 现了打开速度非常缓慢的情况,有好几次都是直接达到了nginx中设置的脚本最大超时时间300秒,结果导致nginx往客户端浏览器发送了一个504 Gateway Time-out的错误代码,分析了之后改动了几处配置文件,终于避免了该情况的出现。&&&&从 错误代码基本可以确定跟nginx本身无关,主要是提交给php-fpm的请求未能正确反馈而导致,一般情况下,提交动态请求的时候,nginx会直接把 请求转交给php-fpm,而php-fpm再分配php-cgi进程来处理相关的请求,之后再依次返回,最后由nginx把结果反馈给客户端浏览器,但 我这个vps目前跑的是个纯php应用内容,实际上用户所有的请求都是php请求,有的耗费时间比较久,php-cgi进程就一直都被用满,而php- fpm本身的配置文件只打开了10组php-cgi进程,这样的话在线用户稍微多的话就会导致请求无法被正常处理而出错。&&&&大概分析出了原 因,下面做就比较容易了,首先是更改php-fpm的几处配置:&&&&把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。&&&&好了,重新加载php-fpm和nginx的配置,再次测试,至今两周时间内没有再出现504 Gateway Time-out的情况,算是达到效果了。&&另外,php-fpm的默认静态处理方式会使得php-cgi的进程长期占用内存而无法释放,这也是导致nginx出错的原因之一,因此可以将php-fpm的处理方式改成apache模式。&&&value name=&style&&apache-like&/value&
LNMP的朋友试试这个 (以512内存的vps为例)1.调整php-fpm.conf的相关设置/www/wdlinux/etc/:&value name=&max_children&&32&/value&&&value name=&request_terminate_timeout&&30s&/value&&22.调整nginx.conf的相关设置/www/wdlinux/nginx-1.0.12/conf:fastcgi_connect_timeout 300;fastcgi_send_timeout 300;fastcgi_read_timeout 300;fastcgi_buffer_size 64k;fastcgi_buffers 4 64k;fastcgi_busy_buffers_size 128k;fastcgi_temp_file_write_size 256k;
&如果没有以上数值,直接在里面添加即可。对了修改了这些参数,内存消耗有所增加。如果不能接受的,建议不要修改。
阅读(...) 评论()如何解决“504 Gateway Time-out”错误_百度经验
&&&&&&互联网如何解决“504 Gateway Time-out”错误
百度经验:jingyan.baidu.com做网站的同学经常会发现一些nginx服务器访问时候提示504 Gateway Time-out错误,一般情况下是由nginx默认的fastcgi进程响应慢引起的,但也有其他情况,这里我总结了一些解决办法供大家参考。百度经验:jingyan.baidu.com1情况一:由于nginx默认的fastcgi进程响应缓冲区太小造成&&&&&& 这种情况下导致fastcgi进程被挂起,如果fastcgi服务队这个挂起处理不是很好的话,就可能提示“504 Gateway Time-out”错误。2情况一解决办法:&&&&&& 默认的fastcgi进程响应的缓冲区是8K,我们可以设置大一点,在nginx.conf里,加入:fastcgi_buffers 8 128k&&&&&& 这表示设置fastcgi缓冲区为8块128k大小的空间。3情况一解决办法(改进):&&&&&&&在上述方法修改后,如果还是出现问题,我们可以继续修改nginx的超时参数,将参数调大一点,如设置为60秒:&&&&&& send_timeout 60;&&&&&& 经过这两个参数的调整,结果没有再提示“504 Gateway Time-out”错误,说明效果还是挺不错的,问题基本解决。4情况二:PHP环境的配置问题&&&&&& 这里我们需要对php-fpm和nginx进行配置修改。因为这种情况下,也会出现“504 Gateway Time-out”错误提示。5情况二解决办法(&php-fpm配置修改):&&&&&&将max_children由之前的10改为30,这样操作是为了保证有充足的php-cgi进程可以被使用。&&&&& 将request_terminate_timeout由之前的0秒改成60秒,这样使php-cgi进程处理脚本的超时时间提高到60秒,可以防止进程被挂起以提高利用效率。6情况二解决办法(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。7情况二解决办法修改完,我们需要重新加载php-fpm和nginx的配置,然后再进行测试。之后就没有发现“504 Gateway Time-out”错误,效果也还是不错的!END百度经验:jingyan.baidu.com本经验为原创,百度经验首发,转载请注明。经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。投票(174)已投票(174)有得(0)我有疑问(0)◆◆说说为什么给这篇经验投票吧!我为什么投票...你还可以输入500字◆◆只有签约作者及以上等级才可发有得&你还可以输入1000字◆◆如对这篇经验有疑问,可反馈给作者,经验作者会尽力为您解决!你还可以输入500字相关经验000021热门杂志第1期你不知道的iPad技巧3701次分享第1期win7电脑那些事6544次分享第2期新人玩转百度经验1371次分享第1期Win8.1实用小技巧2628次分享第1期小白装大神1870次分享◆请扫描分享到朋友圈LNMPA遇到504 Gateway time-out错误的解决方法_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
LNMPA遇到504 Gateway time-out错误的解决方法
谷一商盟学院,网络整合营销第一品牌!|
总评分0.0|
阅读已结束,下载本文需要
想免费下载更多文档?
定制HR最喜欢的简历
你可能喜欢nginx 504 Gateway Time-out错误解决方法
转载 & & 投稿:mdxy-dxy
我们经常会发现大量的nginx服务器访问时会提示nginx 504 Gateway Time-out错误了,下面我来总结了一些解决办法,有需要了解的同学可进入参考
一般看来, 这种情况可能是由于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;
我只是调整了这两个参数, 结果就是没有再显示那个超时, 可以说效果不错
另一篇文章
首先是更改php-fpm的几处配置:
把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。
好了,重新加载php-fpm和nginx的配置,再次测试,至今两周时间内没有再出现504 Gateway Time-out的情况,算是达到效果了。
另外,php-fpm的默认静态处理方式会使得php-cgi的进程长期占用内存而无法释放,这也是导致nginx出错的原因之一,因此可以将php-fpm的处理方式改成apache模式。
apache-like
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具

我要回帖

更多关于 世爵娱乐平台 的文章

 

随机推荐