wdcp现在用的人许多。可是经常呈现 504 Gateway time-out,遇到这种疑问怎么办?,开端最模板也是查找了百度,许多处理办法,可是没有小白的处理步骤
下面最模板整理了下百度查找到的内容整理了以下方法
Nginx的特点是处理静态很给力,Apache的特点是处理动态很安稳,两者结合起来便是LNMPA,nginx处理前端,apache处理后端,这么处理静态会很快,处理动态会很安稳。当最模板认为装置完结今后便万事大吉,不料更新网站的时候却呈现504 Gateway time-out;起先还认为这是偶然,多次测验后仍然呈现这么的情况,因而才决议查找解决方法。
LNMP面临504 Gateway time-out
由于504 Gateway time-out是Nginx的专属过错,因而起先最模板认为是nginx装备出错,查找网上的教程,找到相应的解决方法,下面简单说说LNMP面临此种情况的解决方案。Nginx呈现这么的过错,是由于对PHP-CGI进程数约束得太小,面临更新网站这类操作,很可能呈现进程不足而超时的情况,因而要修正两处涉及到处理时刻的文件。
处理步骤 :
1、找nginx.conf文件,这个文件在/www/wdlinux/nginx/conf/nginx.conf,翻开今后,主要修正前面几个时刻,建议修正为120秒以上。至于用啥东西修正,引荐在线指令行修正;或许用winscp下载下来,用Dreamweaver修正。
需求用到的指令:vi:/www/wdlinux/nginx/conf/nginx.conf
最模板使用的是:先进登陆SSH 进入目录。 cd /www/wdlinux/nginx/conf/ vi nginx.conf可是里边没有下面的东西,然后输入i,在你需求的当地刺进
/www/wdlinux/nginx-1.0.15(最模板的版本号是1.2.9,版本号有可能有区别)/conf/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;
其非必须修正php-fpm.conf文件,这个文件在/www/wdlinux/etc/php-fpm.conf,不同的一键装置包位置有所不同,横竖找找php装置今后文件下面的etc文件夹即可,在线修正或下载下来用Dreamweaver修正。
ssh操作步骤:
翻开文件夹:cd /www/wdlinux/etc/ 翻开文件 vi php-fpm.conf 查找用? 刺进(修正)用i,修正好后保存用:wq
查找用到的指令是 ?max_children (这个不要仿制,网页仿制的指令可能会存在半角全角的疑问,)
进入文件后查找”max_children”这是php-cgi进程数,一个进程占20M~30M内存,按自己的VPS或云主机内存进行计算,比如512M内存,引荐设置为18即可;别的查找”request_terminate_timeout”,这是超时时刻,若php程序要长时刻运作,那么设置时刻大一点会比较好,比如设置为120秒,单位默许是秒,或许写成120相同能够。
LNMPA遇到504 Gateway time-out
当最模板依照Nginx的解决方法设置,很快设置成功,不过仍然会呈现504 Gateway time-out,这时最模板直接切换为LNMP组合,发现不再遇到504 Gateway time-out过错,这说明设置已经收效;为啥还会呈现这么的过错呢?
通过很多的资料查找,总算发现这是Nginx与Apache通讯时刻设置疑问,当用户宣布php脚本履行恳求,nginx不会履行php,会把这个疑问留给后台的apache,nginx会等待一段时刻,apache能够在等待时刻内处理php脚本恳求,若未处理完,nginx便已未收到数据恳求而回来504 Gateway time-out过错,实际情况是apache仍然会在后台处理完php脚本,只是前台回来过错。
解决方法是修正nginx与apche通讯时刻,具体是装备naproxy.conf,这个文件在/www/wdlinux/nginx/conf/下面,姓名可能会有变化,比如有的装置包是naproxy.conf,横竖是**proxy.conf文件。
proxy_connect_timeout 60;
proxy_send_timeout 600;
proxy_read_timeout 90;
proxy_buffer_size 128k;
proxy_buffers 8 128k;
proxy_busy_buffers_size 256k;
proxy_temp_file_write_size 100m;
第一项是连接时刻,前端连接后端时刻,60s以内即可,第二个是发送时刻,答应后端回来数据的时刻,90s以内即可,第三个时刻是读写时刻,这是前端等待后端处理时刻,这是致使504 Gateway time-out的根本因素,呈现这个过错,说明这个值太小,引荐不小于600s,服务器越差,那么设置得更长,确保处理完毕。
当最模板把这个文件设置好,重启nginx和apache,再次更新文章,已经不会遇到这类过错,说明出错因素不是nginx,而是前段和后端的通讯时刻太短。别的,nginx还会有502过错,实际上原理是差不多的,相同设置上面这部分文件,LNMPA组合仍然是设置前后端的通讯时刻。
(责任编辑:最模板) |