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