用supervisor来管理守护进程

supervisor是python写的将非daemon的程序生成daemon的程序来管理.

在阿里云centos下安装以及配置如下

yum -y update
yum -y install python-setuptools
easy_install supervisor
touch  /etc/supervisord.conf

supervisord.conf配置文件内容如下:

[unix_http_server]
file = /var/run/supervisord.sock
chmod = 0777
chown= root:root

[inet_http_server]
# Web管理界面设定
port=0.0.0.0:9001
username = test
password = 123456

[supervisorctl]
; 必须和'unix_http_server'里面的设定匹配
serverurl = unix:///var/run/supervisord.sock

[supervisord]
logfile=/var/log/supervisord/supervisord.log ; (main log file;default $CWD/supervisord.log)
logfile_maxbytes=50MB       ; (max main logfile bytes b4 rotation;default 50MB)
logfile_backups=10          ; (num of main logfile rotation backups;default 10)
loglevel=info               ; (log level;default info; others: debug,warn,trace)
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
nodaemon=false              ; (start in foreground if true;default false)
minfds=1024                 ; (min. avail startup file descriptors;default 1024)
minprocs=200                ; (min. avail process descriptors;default 200)
user=root                 ; (default is current user, required if root)
childlogdir=/var/log/supervisord/            ; ('AUTO' child log dir, default $TEMP)

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface


[program:test]
command=/usr/local/test/test
autostart = true
startsecs = 5
user = root
redirect_stderr = true
stdout_logfile = /usr/local/test/test.log

配置完毕,启动supervisord

supervisord -c /etc/supervisord.conf

supervisorctl使用说明

supervisorctl stop test 停止test进程
supervisorctl start test 启动test进程
supervisorctl restart test  重启test进程
supervisorctl stop all,停止全部进程,注:start、restart、stop都不会载入最新的配置文件

好了,就这样吧!

此条目发表在 好文推荐, 网站架构 分类目录,贴了 标签。将固定链接加入收藏夹。

评论功能已关闭。