一次打开网站,发现502,第一反应肯定是php-fpm没启动,尝试启动还是502.
1.首先查询Nginx日志发现如下连接PHP失败:
2017/03/02 15:56:04 [error] 23760#0: *186 connect() failed (111: Connection refused) while conne
cting to upstream, client: 10.8.252.18, server: iZbp1bhgh25pacaj2ffmp2Z request: "GET /index.php?route=re
st/crontab HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "iZbp1bhgh25pacaj2ffmp2Z"
2.通过dmesg 查询至如下:
[6819070.815161]init: php-fpm main process ended, respawning
[6819070.861943]init: php-fpm main process (25401) terminated with status 78
[6819070.861955]init: php-fpm main process ended, respawning
[6819070.910152]init: php-fpm main process (25409) terminated with status 78
3.通过php-fpm检测配置文件
[root@iZbp1bhgh25pacaj2ffmp2Z ~]# /usr/local/php/sbin/php-fpm --fpm-config /usr/local/php/etc/php-fpm.conf
[02-Mar-2017 15:57:14] ERROR: /usr/local/php/etc/php-fpm.conf:27 unknown entry 'catch_workers_output'
[02-Mar-2017 15:57:14] ERROR: failed to load configuration file '/usr/local/php/etc/php-fpm.conf'
[02-Mar-2017 15:57:14] ERROR: FPM initialization failed
4.注释catch_workers_output
[root@iZbp1bhgh25pacaj2ffmp2Z ~]# vim /usr/local/php/etc/php-fpm.conf +27
[root@iZbp1bhgh25pacaj2ffmp2Z ~]# service php-fpm start
php-fpm start/running, process 25545
5.启动成功后,网站已正常访问
[root@iZbp1bhgh25pacaj2ffmp2Z ~]# ps -ef|grep php-fpm
root 25545 0.6 0.1 342748 18812 ? Ss 15:58 0:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)
www 25548 0.0 0.0 342748 5644 ? S 15:58 0:00 php-fpm: pool www
www 25549 0.0 0.0 342748 5644 ? S 15:58 0:00 php-fpm: pool www
www 25550 0.0 0.0 342748 5644 ? S 15:58 0:00 php-fpm: pool www
www 25551 0.0 0.0 342748 5644 ? S 15:58 0:00 php-fpm: pool www
www 25552 0.0 0.0 342748 5644 ? S 15:58 0:00 php-fpm: pool www
6.谷歌给出的解决方案有以下2种:
1.php-fpm没有运行
执行如下命令查看是否启动了php-fpm,如果没有则启动你的php-fpm即可
netstat -tunlp | grep 9000
2.php-fpm队列满了
php-fpm.conf配置文件pm.max_children修改大一点,重启php-fpm并观察日志情况