
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
看看是否有幫助。