supervisor 使用教程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了supervisor 使用教程相关的知识,希望对你有一定的参考价值。

参考技术A 官网为 http://supervisord.org/

Supervisor是使用python开发的一个进程管工具,安装和使用都非常简单。使用 pip 或者 easy_install 安装会非常方便,自动解决依赖关系。
– sudo pip install supervisor
– sudo easy_install supervisor

pip的安装请参考 Python pip 安装使用教程

安装完成后系统会增加几个命令
supervisord 用于启动supervisor服务。
supervisorctl 用于管理supervisor服务,管理使用supervisor启动的进程。

安装好supervisor后需要手动的生成配置文件。
echo_supervisord_conf | sudo tee /etc/supervisord.conf
supervisor默认读取的配置文件为 /etc/supervisord.conf ,建议将配置文件放在此位置。

我们先简单的查看一下 supervisord.conf ,配置文件格式和ini格式配置文件相同,由节、键、值组成,配置文件注释为 ; 。

读取/etc/supervisor.d/文件夹下所有后缀为conf的文件。

第一步
配置第一个使用supervisord管理的程序
我们使用 python2.7 来作为演示,使用SimpleHTTPServer模块方便快速的启动一个http server。
1,创建配置文件 /etc/supervisor.d/test1.conf,写入一下内容

这是一个最简单的例子,第一行指定当前配置的程序名称。第二行程序运行命令(20080 为 http server端口号)。
2,第一个程序已经配置好,接下来就可以启动supervisord来查看一下效果。
输入命令 sudo supervisord 即可启动服务。
很多机器会打印出几行信息,这并不代表程序出错,意思是

3,现在使用 ps -ef | grep python 来检查一下刚才配置的程序是否已经启动。到此为止我们的第一步已经完成。

必要参数只有 command,其他未可选参数。
[program:x] 自定义的程序名不能重复
配置示例
管理tornado应用
需要启动4个进程,分别监听四个连续端口(20081 – 20084)。
将错误输出定向到标准输出,每个端口标准输出写入到不同文件中,单个文件最大50MB,最多保存3个备份。
启动前等待3秒。
supervisord启动时自动启动。程序运行出错自动重启,最大尝试重启次数3次。

nginx默认运行状态是后台运行程序。supervisord不能管理此类程序需要,需要修改nginx主配置文件。
在nginx最外层加入 daemon off;

最简单的配置。

supervisor进程管理工具,可以方便启动停止进程,查看程序日志,重新载入配置文件。
如果supervisord配置文件不再默认位置,使用supervisorctl工具时需要指定配置文件路径 supervisordctl -c 配置文件路径
常用命令

start stop restart + all 表示启动,关闭,重启所有进程。

如果一个进程启动了多个副本,例如上文 tornado-test 。
关闭所有副本

以上是关于supervisor 使用教程的主要内容,如果未能解决你的问题,请参考以下文章

Supervisor使用教程

Python 进程管理工具 Supervisor 使用教程

进程管理工具supervisor的安装与使用教程

Linux进程管理工具 Supervisord 的安装 及 入门教程

001-supervisor

进程守护Supervisor系列一:安装与配置