您的位置:首页 > 其它

Supervisor使用简介

2016-11-13 18:04 351 查看
1.Supervisor简介
  Supervisor是一个 Python
开发的client/server
系统,可以管理和监控类 UNIX
操作系统上面的进程。它可以同时启动,关闭多个进程,使用起来特别的方便。supervisor
主要由两部分组成:
(1)supervisord(server
部分)
主要负责管理子进程,响应客户端命令以及日志的输出等;它负责启动所管理的进程,并将所管理的进程作为自己的子进程来启动,而且可以在所管理的进程出现崩溃时自动重启。
(2)supervisorctl(client
部分)
命令行客户端,用户可以通过它与supervisord
进程联系,获取子进程的状态等。
 
2.Supervisor的安装和使用
(1)Supervisor的安装
pip install supervisor
(2)Supervisord的配置生成
安装了supervisor之后,可以使用echo_supervisord_conf工具来生成supervisord的默认配置,具体方法是:
echo_supervisord_conf > supervisord.conf。然后修改supervisord.conf配置文件,添加需要让Supervisor管理的的子进程的信息,例如子进程的启动命令、是否在子进程崩溃时帮其自动重启。例如在supervisord.conf中添加一个celeryd的服务:
[program:celeryd]
command=celery worker--app=task -l info ; 启动命令
stdout_logfile=/var/log/supervisor/celeryd_out.log; stdout 日志输出位置
stderr_logfile=/var/log/supervisor/celeryd_err.log; stderr 日志输出位置
autostart=true; 在 supervisord 启动的时候自动启动
autorestart=true ;程序异常退出后自动重启
startsecs=10; 启动 10 秒后没有异常退出,就当作已经正常启动
(3)启动Supervisord服务器进程
supervisord -c supervisord.conf
(4)使用supervisorctl客户端来操作被supervisor管理的子进程
supervisorctl stop/start/restart xxx #停止/启动/重启某一个进程xxx
supervisorctl reread #只载入最新的配置文件, 并不重启任何进程
supervisorctl reload #载入最新的配置文件,停止原来的所有进程并按新的配置启动管理所有进程
supervisorctl update #根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启
 
学习资料参考于:
http://liuzxc.github.io/blog/supervisor/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: