1.简述
supervisor用于检测各种daemon的运行情况,在被执行的时候开始运转,直到整个系统关闭才会退出。
当其监测的某个daemon非正常关闭时,supervisor可自动重启该daemon。
2.安装
supervisor是python写的,安装之前先要安装python工具
yum -y install python-setuptools #安装python工具包
easy_install supervisor #安装supervisor,easy_install是setuptools提供的一个命令
3.配置
建立配置文件夹和配置文件
mkdir /etc/supervisor
echo_supervisord_conf > /etc/supervisor/supervisord.conf #配置文件
修改/etc/supervisrod.conf配置文件内容:将最后两行前的‘;’删除,并更改内容如下:
[include]
files = /etc/supervisor/conf.d/*.ini
#*.ini是特定的配置文件,你需要监测的某个daemon,就需要为这个daemon写一个配置文件
在/etc/supervisor下创建文件夹conf.d,例检测httpd的运行情况,就要在/etc/supervisor/conf.d下建一个httpd.ini文件,如下:
[program: httpd]
command=httpd -D FOREGROUND #运行程序的命令
directory=/usr/sbin # 命令执行的目录
autorestart=true # 程序意外退出是否自动重启
autostart=true # 是否自动启动
stderr_logfile=/var/log/ProjectName.err.log #错误日志文件
stdout_logfile=/var/log/ProjectName.out.log # 输出日志文件
environment=ASPNETCORE_ENVIRONMENT=Production # 进程环境变量
user=root # 进程执行的用户身份
stopsignal=INT
startsecs=1 # 自动重启间隔
4.测试
supervisor有两个命令:supervisord和supervisorctl
supervisord用于启动supervisor,supervisorctl可查看监测的daemon的状态等。
supervisord -c /etc/supervisor/supervisord.conf #启动
supervisorctl status #查看状态
若显示httpd为running表示安装配置成功。
5.
如果出现错误,查看日志信息,日志路径在*.ini中有定义
常用命令:
supervisorctl shutdown #关闭所有任务
supervisorctl stop|start program_name #启动或停止服务
supervisorctl status #查看所有任务状态