Supervisor
-
supervisord
可以理解成supervisor的服务端运行supervisor时会启动一个进程supervisord,它负责启动所管理的进程,并将所管理的进程作为自己的子进程来启动,而且可以在所管理的进程出现崩溃时自动重启
-
supervisorctl
可以理解成supervisor的客户端supervisorctl是命令行管理工具,可以用如下命令来进行子进程的管理,如:
指定命令 作用 supervisorctl status 查看子进程的状态 supervisorctl start 子进程名字 开启一个子进程 supervisorctl stop 子进程名字 停止一个子进程 supervisorctl restart 子进程 重启一个子进程 echo_supervisord_conf 用来生成默认的配置文件,一般生成默认文件为 supervisor.conf
Supervisor安装
- 使用yum源进行安装
yum install supervisor
- 压缩包下载(Supervisor-4.2.4.tar.gz)
安装操作:tar -zxvf supervisor-4.2.4.tar.gz cd supervisor-4.2.4 python setup.py install
SuperVisor配置
- 创建Supervisor目录
mkdir /etc/supervisor
- 生成Supervisord.conf配置文件
echo_supervisord_conf > /etc/supervisor/supervisord.conf
- 修改supervisord.conff配置信息
cd /etc/supervisor vi supervisord.conf
每次修改完supervisord.conf要重启一下进程# 尾部添加以下信息 [program:tornado] command= python main.go # 运行命令 directory=/root/tornado # 运行文件目录 autorestart=true # 自动重新启动 redirect_stderr=true #重定向错误
supervisorctl reload killall -s INT /usr/bin/python
- 执行supervisord.conf
测试一下,没有问题可以把supervisord默认路径改成我们的启动文件supervisord -c /etc/supervisor/supervisord.conf
- 修改supervisord命令默认路径
cp /etc/supervisor/supervisord.conf /etc/supervisord.conf
- Supervisor操作
#停止tornado服务 supervisorctl stop tornado #启动tornado服务 supervisorctl start tornado
配置Supervisor完成,以备自查