python -V
Python 2.7.5
cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
一、介绍
Supervisor是比较常用的进程管理工具,支持 Linux/MacOS平台,可以用来控制一组Linux/Unix进程(启动、重启、kill)等,使用Supervisor管理的进程,可以做到以守护进程的方式运行,服务异常关闭后可以自动重启。
Supervisor 有下面几个组件:
- supervisord: Supervisor的服务端程序,使用前,需要先启动该组件;
- supervisorctl: Supervisor的客户端程序,用来实际控制子进程(自定义的服务、程序);
Supervisor 通过配置文件,还可以启动Web控制台,通过Web页面来管理子进程;
二、安装
环境:
CentOS : 6/7
Python : 2.X
使用Python的Setuptools
软件包来安装:
[root@4fff02d62bba ~]# yum -y install python-setuptools
[root@4fff02d62bba ~]# easy_install supervisor
[root@4fff02d62bba ~]# supervisord -v
3.3.3
默认安装的版本是最新版(3.3.3)
三、配置 & 启动服务
拷贝默认配置文件
[root@4fff02d62bba ~]# mkdir /etc/supervisor
[root@4fff02d62bba ~]# echo_supervisord_conf > /etc/supervisord.conf
[root@4fff02d62bba ~]# vi /etc/supervisord.conf
;修改include配置,去除注释
[include]
files = /etc/supervisor/*.conf
[root@4fff02d62bba ~]# supervisord -c /etc/supervisord.conf
[root@4fff02d62bba ~]# ps -ef | grep supervisord
root 202 0 0 03:24 ? 00:00:00 /usr/bin/python /usr/bin/supervisord -c /etc/supervisord.conf
四、配置应用或服务器进程
编写应用启动脚本:启动脚本还有其他的选项配置,点击查看官网文档
[root@4fff02d62bba ~]# vi /etc/supervisor/storm.conf
[program:storm]
directory=/root
command=storm supervisor
autostart=true
autorestart=true
配置文件生效:
#(修改的配置文件生效,设置`autostart=true`的程序,会自动启动)
[root@4fff02d62bba ~]# supervisorctl update
Restarted supervisord
这个时候 可能会提醒、FATAL Exited too quickly (process log may have details)
这个时候 需要你在*.ini 中加入 user=root
然后 重启就OK了
原文链接:https://www.jianshu.com/p/ff915e062f86