Supervisor监控程序

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日志就知道了。

Leave a Comment

Your email address will not be published. Required fields are marked *

PHP 8.1.1 - 21.028 ms, 0 Q