
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
а вот конфигурация для монитора
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
Ручной перезапуск php5-fpm с помощью «service php5-fpm restart» устраняет эту ошибку до тех пор, пока она не возникнет снова.
Сервер — Ubuntu 14.04. PHP 5.6.9
решение1
Я развернул контейнер Docker с Ubuntu 14.04, monit и php5-fpm из PPA «ondrey».
Вот что я получаю после удаления сокета 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.
Так как в Ubuntu уже были проблемы с upstart и sysvinit, как в этом случае: https://stackoverflow.com/questions/23464157/cant-start-or-stop-php-fpm-on-ubuntu
Я бы посоветовал вам изменить конфигурацию монитора для php5-fpm на:
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
и посмотрим, поможет ли это.