当 php-cgi 退出时如何自动生成?

当 php-cgi 退出时如何自动生成?

我在 ubuntu 上使用 php-cgi(带有 nginx),启动它的命令是:

spawn-fcgi -a 127.0.0.1 -p 9100 -f /usr/bin/php-cgi -P /var/run/fastcgi-php.pid

但有时 php-cgi 进程会自动退出,我需要手动启动它。有什么方法可以让它自动重新启动,例如) 编写 init 脚本?

请建议,谢谢。

答案1

您确实应该使用 PHP-FPM,而不是 spawn-fcgi。它是一个 fastcgi 进程管理器,旨在解决 php-cgi 的许多问题(因此与 spawn-fcgi 也存在问题)。

由于 PHP 5.2.x 系列已停产,您也应该使用 PHP 5.3.x,这意味着您很可能已经拥有 php-fpm,只需确保您的包管理器安装该版本即可(查看它是否名为 php-fpm 或类似名称)。如果您从源代码安装,则只需在编译时添加一个标志即可启用它。(--with-fpm)

如果你使用的是 5.2.x 版本,而且你的老板不允许你升级,那么你就必须使用类似下面的命令来监控它主管或者监控

答案2

我目前使用 upstart (initctl)。

http://manpages.ubuntu.com/manpages/lucid/man8/initctl.8.html

我正在运行 CentOS 6,但我认为 Ubuntu 的过程类似。对于 CentOS,创建文件 /etc/init/php-cgi.conf,其中包含:

# 新贵事件
# nginx_start——启动 nginx 网络服务器/代理
#

从运行级别 3 启动
在运行级别 [016] 停止
控制台输出

执行 /usr/bin/php-cgi -b 127.0.0.1:9001

重生

重生限制 10 90

然后你可以用 initctl 来控制它:

initctl 启动 php-cgi
initctl 状态 php-cgi
initctl 停止 php-cgi

相关内容