Supervisor 是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,它可以很方便的监听、启动、停止、重启一个或多个进程。
用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能。
1、使用yum命令在线安装
# yum install epel-release
# yum install -y supervisor
2、离线安装
官网下载supervisor
tar zxf xxx.tar.gz
cd 进去 python setup.py install
安装路径/usr/bin/supervisord,配置文件/etc/supervisor.conf
3、配置文件
supervisor安装后/etc下有时默认没有配置文件,运行echo_supervisord_conf程序生成supervisor的初始化配置文件
# echo_supervisord_conf > /etc/supervisord.conf
然后编辑这个配置文件,在最后让这个配置文件include指定目录下的配置文件
[include]
files = /etc/supervisord.d/*.ini
supervisord.d这个目录也是得自己新建,mkdir /etc/supervisord.d/
然后再在/etc/supervisord.d/目录里放置所有的supervisor的配置文件
若/etc/supervisord.d/目录里配置文件有改动,需执行supervisorctl update命令加载新的配置
- supervisorctl update:配置文件修改后可以使用该命令加载新的配置
- supervisorctl reload:重新启动配置中的所有程序
4、手动启动/关闭
supervisor手动启动:
#/usr/bin/supervisord -c /etc/supervisor.conf
supervisor手动关闭:
#/usr/bin/supervisorctl stop all 先关闭supervisor启动脚本,之后再关闭supervisord服务
#kill pid
5、supervisor服务启动/关闭/开机自启动/状态查看
systemctl start supervisord.service
systemctl stop supervisord.service
systemctl enable supervisord.service
systemctl status supervisord.service
6、 验证是否为开机启动:
systemctl is-enabled supervisord
7、supervisord 启动成功后,可以通过 supervisorctl 客户端控制进程,启动、停止、重启。
运行 supervisorctl 命令,不加参数,会进入 supervisor 客户端的交互终端,并会列出当前所管理的所有进程。
输入help可以查看可以执行的命令列表,如果想看某个命令的作用,运行 help 命令名称
centos 6中 supervisor设置开机自启动:
/etc/rc.local中加上/usr/bin/supervisord -c /etc/supervisord.conf