系统环境: CentOS 7 x64
Supervisor 是 Linux/Unix 下一个使用 Python 开发的进程管理工具,可以很方便的监听、启动、停止、重启一个或多个进程。用 Supervisor 管理的进程,如果意外停止运行,Supervisor 监听到进程死后,会自动将它重新拉起,可以很方便的实现进程守护。
§安装 Supervisor
|
|
如果以上命令不起作用,则需要先添加 epel
源:
|
|
完成后再执行上条命令安装 Supervisor 。
§配置 Supervisor
安装完后会生成一个主配置文件 /etc/supervisord.conf
和一个自定义配置文件目录 /etc/supervisord.d
,有两种方式来配置 Supervisor :
在主配置文件末尾添加新的配置。
在自定义配置文件目录下为每个需要守护的进程新建对应的配置文件。
个人倾向于使用方法二,比较便于管理。下面以方法二为例,方法一原理是相同的。
首先编辑主配置文件,指定自定义配置文件的后缀:
|
|
在末尾添加下面内容后保存:
|
|
然后在自定义配置文件目录下新建配置文件:
|
|
在其中按以下格式添加内容,分号后为注释,可以不写:
|
|
更多参数详见官方文档,此处就不一一列举了。
§启动 Supervisor 服务
|
|
或
|
|
添加开机自启
|
|
§Supervisor 常用命令
supervisorctl stop | start ProjectName
: 停止/启动某个进程supervisorctl restart ProjectName
: 重启某个进程。supervisorctl status
: 查看所有任务状态。supervisorctl reload
: 载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程。supervisorctl update
: 根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启。- 用
stop
停止的进程,reload
或update
后都不会自动重启。
参考链接: