我如何追踪php-fpm终止的原因?

我有VPS(4核心,6GB)运行centosnginx和php-fpm,很lessstream量(我从来没有发布的url)。

每隔几周(在不同的时间),php-fpm在php-fpm.log中仅以下列方式终止:

[10-Nov-2015 04:14:48] NOTICE: Terminating ... [10-Nov-2015 04:14:48] NOTICE: exiting, bye-bye! 

目前在nginx error.log或php-fpm-error.log中没有其他事件。

您可以使用monit及其pidtesting ,以便在崩溃时重新启动php-fpm,并在发生这种情况时可select收到电子邮件。 就像是

 set mail-format { From: [email protected] Subject: $HOST $SERVICE $EVENT | $DATE } set alert [email protected] check process php_fpm pidfile /var/run/php5-fpm.pid start program = "/etc/init.d/php5-fpm start" stop program = "/etc/init.d/php5-fpm stop" 

以上是用Debian7编写的,但你也可以调整到CentOS。

你使用哪个PHP版本? 你有没有尝试升级到最新? 你从rpm / deb安装它还是编译它?

你可以检查当时是否有cron运行吗?

这经常是由logrotate造成的,试图重启服务。

无论如何,为了防止服务中断,您可以设置监视,以检查服务是否正在运行,如果没有,重新启动服务。 它也支持电子邮件通知,所以你会知道它。

PHP进程不能特别reliabile时,无限期地运行。 你应该configurationphp-fpm以便经常重新启动工作进程。 尝试改变

 ;pm.max_requests = 500 

 pm.max_requests = 500 

作为一个开始。 这可能无法解决所有问题,因为您可能有其他configuration问题,但更改max_requests是一个好的开始。 我的服务器已经运行了好几个月,没有任何停机时间。

从这里