我在ubuntu(使用nginx)上使用php-cgi,并且启动它的命令是:
spawn -fcgi -a 127.0.0.1 -p 9100 -f / usr / bin / php-cgi -P /var/run/fastcgi-php.pid
但有时php-cgi进程会自动退出,我需要手动启动它。 有什么办法可以使其自动重启,例如)编写init脚本?
请build议,谢谢。
你应该使用PHP-FPM而不是spawn-fcgi。 这是一个fastcgi进程pipe理器,它是为了克服php-cgi的许多问题而写的(也就是关系中的spawn-fcgi)。
由于5.2.x的PHP版本是生命周期的,所以你也应该使用PHP 5.3.x,这意味着你很可能已经拥有了php-fpm,这只是确保你的软件包pipe理器安装了这个版本。它被称为php-fpm或类似的)。 如果你从源代码安装,那么它只是一个编译时间标志来启用它。 (–with-FPM)
如果你使用的是5.2.x版本,而且对于你的老板来说你太企业了,那么你就必须使用Supervisord或Monit
我目前使用暴发户(initctl)。
http://manpages.ubuntu.com/manpages/lucid/man8/initctl.8.html
我正在运行CentOS 6,但我认为这个过程与Ubuntu类似。 对于CentOS,创build包含以下内容的文件/etc/init/php-cgi.conf:
#暴发事件 #nginx_start - 启动nginx web服务器/代理 # 在运行级别3开始 在运行级停止[016] 控制台输出 exec / usr / bin / php-cgi -b 127.0.0.1:9001 重生 重生限制10 90
那么你可以用initctl来控制它:
initctl启动php-cgi initctl状态php-cgi initctl停止php-cgi