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都不会载入最新的配置文件
好了,就这样吧!
