首页» [互联网络] » Nginx 502 Bad Gateway错误的终极解决方案 彻底解决lnmp出现的502错误
Nginx 502 Bad Gateway错误的终极解决方案 彻底解决lnmp出现的502错误
Nginx 502 Bad Gateway错误的终极解决方案:
随心微博 之前服务器是手工安装的,未发生过任何问题,后来使用Lnmp一键安装包部署Nginx环境,却发现经常出现 502 Bad Gateway 错误,比如在不停的刷新过程中,时不时就出现一次502错误;
经过本人摸索,终于发现了一个解决方法:
lnmp安装后,Fastcgi 默认的监听端口是这样的:fastcgi_pass unix:/tmp/php-cgi.sock;
而随心微博之前没发生502错误的配置文件是:fastcgi_pass 127.0.0.1:9000;
换成监听9000端口后,再次狂刷新页面,没有出现;找一个外地朋友测试一下:刷新50+,没有出现502。而之前我是基本上刷新了八九次就会出现一次502错误;
所以,确定应该就是fastcgi监听端口的问题引起的;
具体步骤:
1.修改nginx.conf
nginx安装目录:/usr/local/nginx/conf/ ,打开nginx.conf,查找到:
fastcgi_pass unix:/tmp/php-cgi.sock;
改为:
fastcgi_pass 127.0.0.1:9000;
2.修改php-fpm.conf
php安装目录:,/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>
3.依次重启Nginx和php-fpm
nginx 重启:
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s reload
php-fpm重启:
/usr/local/php/sbin/php-fpm restart
okay,完成操作,现在试试是否还存在502错误了吧,如果还存在,可能就是fastcgi进程数不够,可适当根据自身服务器内存需要,修改cgi进程数目,在php-fpm.conf修改max_children最大数目,如我的服务器2G内存,修改为 <value name="max_children">72</value>。
可能还会修改:
<value name="request_terminate_timeout">9999s</value>
<value name="request_slowlog_timeout">999s</value>
本文原载:http://itfis.com/post/212

评论11条 快速评论
感谢博主,妈的这个问题纠结我好几天了 现在终于好了
改完重启之后,立马502 少修改了个文件usr/local/nginx/conf/vhost/domian.com 这个配置文件!修改后重启正常!
会不会出现502还待测试!
不修改正常运行了22天!
@吾爱网络论坛:恩 先看看效果吧 ···· 如果你成功的 多刷新几次就看到有没有 502了
我抱歉,分散注意力,但我有crookedly显示在浏览器的一些原因,有些按钮没有看到什么地方出错了?
有问题啊,改完重启直接502了。。
@itisfine:没改正确吧
@情戈待寂:一句一句照着改,一字不差。确实出现3楼的问题,改完重启之后,立马502,恢复原样,反而正常了,我汗。
@Assassin:一般情况下 如果修改正确的花 不会有这样的问题的 因为已经测试运行了N次
没有用啊?还是502 Bad Gateway
都是按照你那设置的进行设置。
@jxyk2007:要确定 php和nginx 改的端口都一样
一直遇到这个问题
请教了n多牛人也不行
最后lnmp的论坛网友推荐到你这里
按照你的方法试试了一下 :喔晒 果然很有效
改了之后再也不出现502错误了
真是太感谢博主的分享~~~