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 可清除此錯誤,直到再次發生。

伺服器是ubuntu 14.04。 PHP 5.6.9

答案1

我確實使用 Ubuntu 14.04、monit 和來自“ondrey”PPA 的 php5-fpm 啟動了 docker 容器。

這是刪除 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 的 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

看看是否有幫助。

相關內容