
Monit은 로그에 표시된 대로 php5-fpm을 사용할 수 없음을 올바르게 감지하고 있습니다. 그러나 서비스를 다시 시작할 수는 없는 것 같습니다.
통나무:
[EDT Jun 11 18:04:20] error : 'php5-fpm' failed, cannot open a connection to UNIX[/var/run/php5-fpm.sock]
[EDT Jun 11 18:04:20] info : 'php5-fpm' trying to restart
[EDT Jun 11 18:04:20] info : 'php5-fpm' stop: /etc/init.d/php5-fpm
[EDT Jun 11 18:04:50] error : 'php5-fpm' failed to stop
다음은 monit의 구성입니다.
check process php5-fpm with pidfile /var/run/php5-fpm.pid
group php #change accordingly
start program = "/etc/init.d/php5-fpm start"
stop program = "/etc/init.d/php5-fpm stop"
if failed unixsocket /var/run/php5-fpm.sock then restart
"service php5-fpm restart"를 사용하여 php5-fpm을 수동으로 다시 시작하면 오류가 다시 발생할 때까지 이 오류가 지워집니다.
서버는 우분투 14.04 입니다. PHP 5.6.9
답변1
나는 'ondrey' PPA에서 Ubuntu 14.04, monit 및 php5-fpm을 사용하여 도커 컨테이너를 가동했습니다.
fpm 소켓을 제거한 후 얻은 결과는 다음과 같습니다.
[UTC Jun 12 17:03:06] error : 'php5-fpm' failed, cannot open a connection to UNIX[/var/run/php5-fpm.sock]
[UTC Jun 12 17:03:06] info : 'php5-fpm' trying to restart
[UTC Jun 12 17:03:06] info : 'php5-fpm' stop: /etc/init.d/php5-fpm
[UTC Jun 12 17:03:06] info : 'php5-fpm' start: /etc/init.d/php5-fpm
[UTC Jun 12 17:03:26] info : 'php5-fpm' connection succeeded to UNIX[/var/run/php5-fpm.sock]
귀하의 경우 /etc/init.d/php5-fpm stop이 실패한 것 같습니다. 스크립트를 보면 프로세스가 실행 중이지만 스크립트가 프로세스를 중지하지 못하는 경우에만 실패할 수 있습니다. 그러면 반환 코드는 2입니다.
우분투에는 이미 다음과 같이 upstart와 sysvinit에 문제가 있었기 때문에: https://stackoverflow.com/questions/23464157/cant-start-or-stop-php-fpm-on-ubuntu
php5-fpm에 대한 monit 구성을 다음과 같이 변경하는 것이 좋습니다.
check process php5-fpm with pidfile /var/run/php5-fpm.pid
group php
start program = "/usr/sbin/service php5-fpm start"
stop program = "/usr/sbin/service php5-fpm stop"
if failed unixsocket /var/run/php5-fpm.sock then restart
그게 도움이 되는지 확인해 보세요.