502 bad gateway不一定全是nginx,apache之类引起的,也有可能是由其他模块引起的,例如:php
1,查看php-fpm和nginx的log
# vim /var/log/nginx/error.log
recv() failed (104: Connection reset by peer) while reading response header from upstream
# vim /var/log/php-fpm/error.log
WARNING: [pool www] child 29522 exited on signal 11 (SIGSEGV - core dumped) after 2165.472759 seconds from start
2,由php的eaccelerator导致502 bad gateway错误
我根据上面的二个错误,在网上找方法大部分都说是由nginx或者apache引起的,最近并没有动nginx的配置,不可能好好的就不行了,当看到有说php扩展apc,有可能会引起502 bad gateway时,因为eaccelerator根apc差不多,猜想会不会是eaccelerator引起502呢?
# mv /etc/php.d/eaccelerator.ini{,bak} # /etc/init.d/php-fpm restart
重启后问题解决。开始的时候,我以为是cache目录和log目录的权限导致502的,就算改了所属用户,并且在加上777权限,也还是502错误。
转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/php/1697.html
哈哈,就是这个问题,干掉ini里的eaccelerator 重启fpm 就OK啦,多谢!!