Supervisor是一个进程控制系统,可以监控程序,做到程序中断之后自动启动的保护机制999。。。
Supervisor的安装
$ pip install supervisor //最好是在virtualenv安装,独立的环境。
生成默认的配置文件
Supervisor安装完成之后,可以用echo_supervisord_conf > supervisord.conf 来生成默认配置文件。
添加需要监控的程序配置(例子)
[program:stock_channel]
user=www
command=/usr/local/php/bin/php /data/www/stock/app/biz/Cli.php request_uri=/cli/stockchannel/run
stdout_logfile=/data/www/log/stockchannel.log
stderr_logfile=/data/www/log/stockchannel.log
autostart=true
autorestart=true
startsecs=10
stopwaitsecs=10
这里,我的程序取名叫stock_channel, command项就是你程序的启动命令。
autostart 表示Supervisor启动之后就启动顺带启动程序开启监控,autorestart 表示挂了之后自动启动。
启动Supervisor服务
$ /path/to/bin/supervisord -c /path/to/bin/supervisord.conf # 启动的时候指定配置文件。
停止所有监控的程序
$ /path/to/bin/supervisorctl -c /path/to/bin/supervisord.conf stop all;
当然,你也可以 /path/to/bin/supervisorctl -c /path/to/bin/supervisord.conf 进入控制台单独停止程序。
停止Supervisor服务
$ /path/to/bin/supervisorctl -c /path/to/bin/supervisord.conf shutdown;
有没有启动程序,有没有错误,看下stdout_logfile和stderr_logfile项配置的log日志就知道了。