在使用lnmp环境时,偶尔会遇到nginx返回502错误,这里我以lnmp一键安装进行说明
原因一:安装时php没有安装成功
查看一下是否存在/usr/local/php/sbin/php-fpm
,如果没有肯定没安装成功。
原因二:eaccelerator配置项
在php.ini
里,eaccelerator
配置项一定要放在Zend Optimizer
配置之前,否则也可能引起502 Bad Gateway。php一些模块之间也可能会造成502,如Zend GuardLoader与Opcache,ioncube与Zend GuardLoader等,一般可以通过注释掉一个然后重启php-fpm,然后看是否还502进行排除。
原因三:php-cgi进程
在安装好使用过程中出现502问题,一般是因为默认php-cgi
进程是5
个,可能因为phpcgi
进程不够用而造成502,需要修改/usr/local/php/etc/php-fpm.conf
将其中的max_children
值适当增加,如果php已升级到5.3.*
以上且使用的是dynamic
模式,需要调整pm.min_spare_servers
和pm.max_spare_servers
的值适当增加。