使用Nginx作为Web服务器的时候,你或多或少都会遇到Nginx 502 bad gateway的错误,造成这种错误的原因有很多。下面我们来一一解析。
有时候由于网站流量过大或者其它原因,导致php-cgi直接down掉,所以我们得看php-cgi是否在运行。执行如下命令:
如果没有运行,手动启动
如果你发现php-cgi不明原因有时候down掉,可以使用下面的脚本临时解决这个问题,添加到cronjob。
fastcgi进程数可以修改php-fpm.conf中的max_children的数值,高峰时php-cgi耗掉的最大内存为20M,请根据自己的内存情况计算了。
限制php执行时间可以在php-fpm.conf中的request_terminate_timeout设置,这是为了防止php程序的bug导致php-cgi假死。
根据实际情况调高以下参数值
除了上面列出的三种情况,当然还会有其它原因,但上面三种情况是最常见的了。