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  

다음은 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

그게 도움이 되는지 확인해 보세요.

관련 정보