Supervisor的安装配置与使用
一、简介
【1】Supervisor是Python开发的进程管理工具(Client/Server系统),可以管理和监控Unix,Linux,Mac OS X 系统上的进程,无法运行在Windows上
【2】Supervisor官方版目前只能在Python2.4以上版本运行,但是还无法运行在Python3版本上
【3】当执行一些需要以守护进程方式执行的程序时(比如后台任务),可以使用Supervisor来管理进程,包括对进程的启动、关闭和重启等,还可以管理程序在命令行上输出的日志,将日志重定向到自定义的文件中
【4】组成部分
supervisord:Supervisor的Server部分,运行Supervisor时会启动一个进程supervisord,它负责启动所管理的进程,并将所管理的进程作为自己的子进程来启动,而且可以在所管理的进程出现崩溃时自动重启
supervisorctl:Supervisor的命令行客户端,是命令行管理工具,可以用来执行 stop、start、restart 等命令,来对这些子进程进行管理
【5】参考链接
http://www.restran.net/2015/10/04/supervisord-tutorial/
http://linbo.github.io/2013/04/04/supervisor/
二、安装
【1】直接使用 sudo pip install supervisor安装,生成配置文件时,会报错
【2】解决方法:sudo pip install supervisor==3.0b2
【3】也可以通过easy_install命令来安装
参考链接:http://www.jianshu.com/p/9abffc905645
三、配置
【1】使用 echo_supervisor_conf命令,生成配置文件,并重定向到Downloads文件夹中
【2】vim supervisord.conf打开配置文件,可以对http_server,supervisord,supervisorctl,以及program进行配置,默认生成的文件已经对大部分进行配置,简单使用的话,只需要配置program部分即可
[unix_http_server]
[supervisord]
[supervisorctl]
[program]
[eventlistener]
[group]
[include]
【3】关于各个配置部分的含义和注意事项,参考以下链接
http://www.restran.net/2015/10/04/supervisord-tutorial/
http://liyangliang.me/posts/2015/06/using-supervisor/
【4】对program和include部分进行配置,作为示例
四、使用
【1】生成新的配置文件后,可以通过 supervisord -c supervisors.conf启动supervisord
【2】可以使用 ps aux | grep supervisord命令,来查看是否在运行,进程ID为22021
【3】通过 kill 22021 命令,可以杀掉进程
【4】通过supervisorctl可以管理进程,supervisorctl -c supervisors.conf status 查看程序状态
【5】supervisorctl -c supervisors.conf stop test.app关闭程序
【6】supervisorctl -c supervisors.conf start test.app启动程序
【7】也可以直接进入supervisorctl客户端,输入相应的命令
【8】每次修改配置文件后,需进入supervisorctl,执行reload,改动部分才能生效
【9】参考链接
http://www.jianshu.com/p/9abffc905645