CentOS7安装Supervisor,亲测有效

445 阅读2分钟

一、功能介绍

supervisor是一个进程管理工具,supervisor是用Python开发的一套通用的进程管理程序,
能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。

supervisor:要安装的软件的名称。 
supervisord:装好supervisor软件后,supervisord用于启动supervisor服务。
supervisorctl:用于管理supervisor配置文件中program。

二、yum安装supervisor

2.1、查看yum源supervisor版本信息

[root@ecs ~]# yum --showduplicates list supervisor

2.1、安装命令

yum install -y epel-release
yum install -y supervisor

systemctl enable supervisord # 开机自启动
systemctl is-enabled supervisord # 检测开启启动是否成功

systemctl start supervisord # 启动supervisord服务
systemctl status supervisord # 查看supervisord服务状态

image.png

# 查看是否存在supervisord进程
ps -ef | grep supervisord 

image.png

### 其他命令
systemctl stop supervisord  # 停止supervisord服务状态
systemctl restart supervisord # 重启supervisord服务

2.2、配置命令和测试

vim /etc/supervisord.conf 

#去掉前面的; 开启http页面管理台, 配置访问ip和端口,用户名和密码,0.0.0.0表示任意ip可以访问

[inet_http_server]         ; inet (TCP) server disabled by default
port=0.0.0.0:9001        ; (ip_address:port specifier, *:port for all iface)
username=user_name              ; (default is no username (open server))
password=xxxxx          ; (default is no password (open server))


;文件结尾,配置文件路径变更,默认为ini,但个人习惯.conf, 可不改
[include]
;files = supervisord.d/*.ini
files = supervisord.d/*.conf
后续创建守护进程默认在/etc/supervisord.d/文件夹下,创建即可

2.3、创建守护进程

vim /data/bin/testecho.sh
#!/bin/bash

while true
do
    DATE=`date +%Y%m%d-%H-%M-%S`

    #写上自已的命令
    echo "hello world $DATE \n\n" >> /home/testecho.log
    #睡眠10秒
    sleep 2
done
chmod +x /data/bin/testecho.sh
#创建日志目录
mkdir -p /var/log/supervisor/runtime

#创建测试守护进程配置
vim /etc/supervisord.d/testecho.conf

[program:testecho]
directory = /data/bin/                                                    ;启动目录
command =  /data/bin/testecho.sh                                                        ;启动命令
autostart = true                                               ;在supervisord启动的时候也启动
startsecs = 5                                                   ;启动5秒后没有异常退出,就当作已经正常启动了
autorestart = true                                            ;程序异常退出后自动重启
startretries = 3                                                ;启动失败自动重试次数,默认是3
user = root                                                      ;哪个用户启动
redirect_stderr = true                                      ;把stderr重定向到stdout,默认false
stdout_logfile_maxbytes = 20MB                                           ;stdout日志文件大小,默认50MB
stdout_logfile_backups = 20                                     ;stdout日志文件备份数
stdout_logfile =/var/log/supervisor/runtime/testecho.log        ;stdout日志文件

2.3、重启配置查看效果

#查看脚本输入的文本
tail -f /home/testecho.log

image.png

netstat -tunlp

image.png

三、登录web管理页面,查看日志和管理守护

http://服务器外网ip地址:9001
(ip和端口根据自己配置来),输入上面配置的用户名和密码,登录即可

image.png

image.png