lnmp 502错误终极解决办法汇总
前言:lnmp的502错误一直给新手带来了很多麻烦。自lnmp更新到0.6正式版后,lnmp的502错误出现的几率已经小了很多。比较原作者收集了常见出现502错误信息,针对这些错误信息花了不少心思进行优化。不过,闲吧两个月的使用期间还是出现了多次502的状况,通过大量的尝试已经已经找到了解决现有lnmp 520的办法,当然安装出问题的不在此列。
主要的lnmp 502错误解决办法如下:
lnmp 502错误情况1:偶然出现502错误,但刷新页面又正常,但不停的多次刷新又会出现502错误。针对这种情况,一般lnmp版本较高,解决问题的办法是修改Fastcgi监听方式。具体解决方法如下
a.修改nginx.conf
打开/usr/local/nginx/conf/ 目录下的nginx.conf,
查找到:fastcgi_pass unix:/tmp/php-cgi.sock;
改为:fastcgi_pass 127.0.0.1:9000;
b.修改php-fpm.conf
打开/usr/local/php/etc/目录下的php-fpm.conf
查找到第26行:<value name="listen_address">/tmp/php-cgi.sock</value>
改为<value name="listen_address">127.0.0.1:9000</value>
c.重启lnmp
ssh下执行/root/lnmp restart。
注意:如果你绑定了多个域名,每个域名的.conf文件也要修改,修改部分见a中内容。当然之后添加域名后,也要修改的。最好的办法是把vhost.sh文件里面的给改了,这样以为添加的域名配置.conf文件就不用修改了。
lnmp 502错误情况2:网站的访问量大,而php-cgi的进程数偏少。
针对这种情况的502错误,只需增加php-cgi的进程数。具体就是修改/usr/local/php/etc/php-fpm.conf 文件,将其中的max_children值适当增加。这个数据要依据你的VPS或独立服务器的配置进行设置。一般一个php-cgi进程占20M内存,你可以自己计算下,看设置多少合适。
lnmp 502错误情况3:php执行超时。
针对这种情况,解决的办法就是设置php.ini 中的max_execution_time 参数。一般lnmp的php.ini文件在/usr/local/php/etc/目录下。建议设置为300。
lnmp 502错误情况4:eaccelerator和Zend Optimizer配置问题。
在php.ini中,eaccelerator配置项一定要放在Zend Optimizer配置之前,不然也可能引起502 Bad Gateway的错误。不过新版的lnmp已经不存在这个问题了。
总结:闲吧个人的实践表明,新版的lnmp 0.6如果出现了502错误,基本原因是情况1和情况2。所以如果遇到lnmp 502 Bad Gateway的朋友们,可优先优化情况1和情况2,观测问题是不是解决了。如果没有解决,那你只能去找春哥了。哈哈
ting
可以了,按照您的方法问题解决了。