Monit не может перезапустить php5-fpm

Monit не может перезапустить php5-fpm

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

и посмотрим, поможет ли это.

Связанный контент