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/
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/
相关文章推荐
- 进程管理工具Supervisor(一)简介与使用
- Supervisor 使用简介
- supervisor的使用简介
- 进程管理工具supervisor简介及使用技巧
- .Net服务组件(ServicedComponent)简介及其使用
- 简介使用ASP.NET访问Oracle数据库的方法
- AWStats: Apache/IIS的日志分析工具——在GNU/Linux和Windows平台上的使用简介
- [Struts]使用StrutsTestCase对Action进行单元测试简介
- 简介使用ASP.NET访问Oracle数据库的方法
- AWStats: 跨平台的日志分析工具使用简介
- DOM4J 使用简介(转)
- Hibernate的简介及使用规则
- 使用 Microsoft Visual C# 2005 Express Edition 编程简介
- 使用委托数组的一个例子简介一下委托
- SSH简介及配置使用SSH登陆远程主机
- 消息队列(Message Queue)简介及其使用
- TreeCellRenderer使用方法简介
- 简介使用ASP.NET访问Oracle数据库的方法
- DOM4J 使用简介[转载]
- 简介使用ASP.NET访问Oracle数据库的方法