技术库 > Nginx

NGINX 502 Bad Gateway

技术库:tec.5lulu.com

解决这个问题如下:

1 方法/步骤

from:tec.5lulu.com

基本刷新:右击刷新或者按F5刷新一下网页或清理一下电脑的缓冲文件,之后就可以打开网页了。这个方法能解决一部分人的问题。

服务器刷新:快捷键 ctrl+F5,这样就是重新向服务器发送请求了。如果服务器能正常给予你响应你就可以看到页面了。

可以尝试清除浏览器缓存。

你的ISP了重大设备故障/过载,只有您的ISP可以帮助您。

END

2 Nginx 502 bad gateway错误解决方法

查看php-cgi是否在运行  有时候由于网站流量过大或者其它原因,导致php-cgi直接down掉,所以我们得看php-cgi是否在运行。执行如下命令:

ps -A | grep php5-cgi  如果没有运行,手动启动

/etc/init.d/php_cgi start 

如果你发现php-cgi不明原因有时候down掉,可以使用下面的脚本临时解决这个问题,添加到cronjob。

if ps aux | grep ‘php5-cgi' | grep -v grep  > /dev/null ; then 

 echo "PHP-cgi is runnning !" 

else

 echo "PHP-cgi is down. Starting over…" 

/etc/init.d/php-fcgi start 

fastcgi 进程数不够用、php执行时间长的原因  fastcgi进程数可以修改php-fpm.conf中的max_children的数值,高峰时php- cgi耗掉的最大内存为20M,请根据自己的内存情况计算了。 限制php执行时间可以在php-fpm.conf中的 request_terminate_timeout设置,这是为了防止php程序的bug导致php-cgi假死。

FastCGI执行时间过长  根据实际情况调高以下参数值

fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300;  

查看当前的PHP FastCGI进程数是否够用

netstat -anpo | grep "php-cgi" | wc -l

如果实际使用的"FastCGI进程数"接近预设的"FastCGI进程数",那么,说明"FastCGI进程数"不够用,需要增大。

部分PHP程序的执行时间超过了Nginx的等待时间,可以适当增加nginx.conf配置文件中FastCGI的timeout时间。

END

3 注意事项

出现502网关错误的原因有多种,大家需有耐心的找原因。
  • php-cgi进程数不够用、php执行时间长、或者是php-cgi进程死掉,都会出现502错误
  • NGINX 502 Bad Gateway


    标签: php cgi本文链接 http://tec.5lulu.com/detail/105dtn2i5z6aw8s7b.html

    我来评分 :6.1
    0

    转载注明:转自5lulu技术库

    本站遵循:署名-非商业性使用-禁止演绎 3.0 共享协议

    www.5lulu.com