supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。
这个工具主要就两个命令:
supervisord : supervisor的服务器端部分,启动supervisor就是运行这个命令
supervisorctl:启动supervisor的命令行窗口。
安装(以Centos为例):
1. 官方下载地址:http://pypi.python.org/pypi/supervisor
文件下载地址:http://pypi.python.org/packages/44/80/d28047d120bfcc8158b4e41127706731ee6a3419c661e0a858fb0e7c4b2d/supervisor-3.3.0.tar.gz
2、解压
# tar -zxvf supervisor-3.3.0.tar.gz
3、安装
# cd supervisor3.3.0
# python setup.py install
成功安装后可以登陆python控制台输入import supervisor查看是否能成功加载。
生成配置文件(supervisord.conf):
#echo_supervisord_conf > /etc/supervisord.conf
修改配置文件:
#cd /etc/
#vi supervisord.conf
在supervisord.conf最后增加配置内容如下(分号后面为注释,可以不管它):
[program:example]
command=/usr/bin/gunicorn -w 1 wsgiapp:application
directory=/srv/www
user=www-data
其中,进程app定义在[program:example]中,command是命令,directory是进程的当前目录,user是进程运行的用户身份。
重启supervisor,让配置文件生效,然后运行命令supervisorctl启动进程:
# supervisorctl stop <span style="font-family: Arial, Helvetica, sans-serif;">example</span>
停止进程:
# supervisorctl stop <span style="font-family: Arial, Helvetica, sans-serif;">example</span>
另外需要注意:如果修改了/etc/supervisord.conf ,需要执行 supervisorctl reload来重新加载配置文件,否则不会生效。
详细请参考官方介绍:http://supervisord.org/introduction.html