使用supervisord监控php脚本

官网:http://www.supervisord.org

一、安装supervisord

$brew install supervisord

在mac下安装要比linux下安装方便的多。

二、配置

修改/usr/local/etc/supervisord.ini文件,取消以下几行注释

[inet_http_server] ; inet (TCP) server disabled by default
port=127.0.0.1:9001 ; (ip_address:port specifier, *:port for all iface)
username=user ; (default is no username (open server))
password=123 ; (default is no password (open server))

这样就可以通过浏览器对进行管理了。

三、添加一个新应用

创建一个a.php文件,内容如下:

while(true){
echo 'a' . time() . "\r\n";
sleep(1);
}

然后在supervisord.ini文件中添加以下几行:

[program:php]
command=php /Users/sxf/web/a.php
autostart=true
autorestart=true
startsecs=1
startretries=3
redirect_stderr=true
stdout_logfile=/Users/sxf/web/supervisord.log
stderr_logfile=/Users/sxf/web/stderr.log

重启supervisord。

$brew services restart supervisord

打开浏览器http://127.0.0.9001,输入用户名和密码,可以看此进程,可以对每个进程进行停止,重启和刷新操作。

supervisord_php
对于supervisord命令请参考:http://blog.haohtml.com/archives/15145

进程管理工具Supervisord

Supervisord

上面已经介绍了Go目前是有两种方案来实现他的daemon,但是官方本身还不支持这一块,所以还是建议大家采用第三方成熟工具来管理我们的应用程序,这里我给大家介绍一款目前使用比较广泛的进程管理软件:Supervisord。Supervisord是用Python实现的一款非常实用的进程管理工具。supervisord会帮你把管理的应用程序转成daemon程序,而且可以方便的通过命令开启、关闭、重启等操作,而且它管理的进程一旦崩溃会自动重启,这样就可以保证程序执行中断后的情况下有自我修复的功能。 Continue reading