处理nginx 504 Gateway Time-out的一些办法 - wdCP V2|linux下免费的服务器/虚拟主机办理体系 - 立博中文网论坛 Linux服务器架构,功用优化.免费CDN体系,智能DNS,负载均衡,集群分流等运用
wdCP体系 (介绍,功用特性,运转环境,装置阐明,演示,常见问题,运用教程) wdCDN体系 (介绍,功用特性,运转环境,装置阐明,演示,常见问题,运用手册)
wdOS体系 (介绍,功用特性,运转环境,装置阐明,演示,常见问题,运用教程) wdDNS体系 (介绍,功用特性,运转环境,装置阐明,演示,常见问题,运用手册)
注册 发贴 发问 回复-必看必看 wddns免费智能 DNS 注册 本地或虚拟机使 用wdcp 一键包在mysql编 译时"卡住"
【300G高防】双线 无视进犯 wdcp官方技术支持/服务 阿里云8折优惠券 无敌云 腾讯云优惠中,现注册更有260代金额券赠送
回来列表 发帖
发问三步曲: 发问先看教程/FAQ索引(wdcp,wdcp_v3,一键包)及查找,会让你更快处理问题
1 供给具体,如体系版别,wdcp版别,软件版别等及过错的具体信息,贴上论坛或截图发论坛
2 做过哪些操作或改动设置等

温馨提示:信息不详,很或许会没人理你!论坛有教程阐明的,也或许没人理!由于,你懂的

[教程] 处理nginx 504 Gateway Time-out的一些办法


在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>
  从更改结束到现在的测验标明上述办法的作用仍是很明显的,并没有发现一次Nginx502 bad gateway或504 Gateway Time-out过错。当然,假如你的VPS或许服务器的功用足够好能够根据具体状况不用做无谓的改动。

本帖最终由 zhutou5 于 2012-5-20 06:09 修正

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;

TOP

对了修正了这些参数,内存耗费有所增加。假如不能承受的,主张不要修正

TOP

nginx.conf 文件里没有
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;

这些参数呢

TOP

回复 4# yanhailou


    直接在里面增加即可

TOP

本帖最终由 云飞 于 2013-12-15 18:25 修正

按你这个设置了,重启服务 器后在DZ后台 群发短音讯仍是504过错,把发送量改为20后正常发送了。
四海垂钓

TOP

留一个足迹!谢谢大哥!

TOP

请问php-fpm在那个目录?

TOP

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;


请问以上增加在该文件什么方位?我加在最终,可是犯错。。。

TOP

呵呵不错哦      保藏了

TOP

回复 2# zhutou5


   谢谢,改了仍是仍然存在,

TOP

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;


请问以上增加在该文件什么方位?

TOP

对啊,网上找了那么多,都没有一个完好的。气死了

TOP

请问502怎么处理

TOP

这种事,仍是不要随意改。。。最厌烦教程说一段的。。。

TOP

回来列表