使用Nginx作为Web服务器的时候,你或多或少都会遇到Nginx 502 bad gateway的错误,造成这种错误的原因有很多。下面我们来一一解析。 一、查看php-cgi是否在运行 有时候由于网站流量过大或者其它原因,导致php-cgi直接down掉,所以我们得看php-cgi是否在运行。执行如下命令: 1.ps -A | grep php5-cgi 如果没有运行,手动启动 1./etc/init.d/php_cgi start 如果你发现php-cgi不明原因有时候down掉,可以使用下面的脚本临时解决这个问题,添加到cronjob。 1.if ps aux | grep 'php5-cgi' | grep -v grep > /dev/null ; then 2. echo "PHP-cgi is runnning !" 3.else 4. echo "PHP-cgi is down. Starting over..." 5. /etc/init.d/php-fcgi start 6.fi 二、fastcgi进程数不够用、php执行时间长的原因 fastcgi进程数可以修改php-fpm.conf中的max_children的数值,高峰时php-cgi耗掉的最大内存为20M,请根据自己的内存情况计算了。 限制php执行时间可以在php-fpm.conf中的request_terminate_timeout设置,这是为了防止php程序的bug导致php-cgi假死。 三、FastCGI执行时间过长 根据实际情况调高以下参数值 1.fastcgi_connect_timeout 300; 2.fastcgi_send_timeout 300; 3.fastcgi_read_timeout 300; 除了上面列出的三种情况,当然还会有其它原因,但上面三种情况是最常见的了。 (责任编辑:IT) |