安装supervisor

说明:

1、服务器重启,需要人工手动启动所有微服务。

2、解决所有微服务开机自启动问题,安装supervisor解决该问题。

一、安装supervisor

1、设置阿里源
mkdir -p /etc/yum.repos.d/back
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/back

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

2、安装supervisor
yum -y install epel-release
yum -y install supervisor

3、查看supervisor
[root@localhost ~]# rpm -ql supervisor
/etc/logrotate.d/supervisor
/etc/supervisord.conf
/etc/supervisord.d
/etc/tmpfiles.d/supervisor.conf
/usr/bin/echo_supervisord_conf
/usr/bin/pidproxy
/usr/bin/supervisorctl
/usr/bin/supervisord

4、创建文件夹
mkdir -p /data/supervisor
echo_supervisord_conf > /etc/supervisord.conf

5、修改配置文件
vim /etc/supervisord.conf

[unix_http_server]
file=/data/supervisor/supervisor.sock

[supervisord]
logfile=/data/supervisor/supervisord.log 
logfile_maxbytes=200MB       
logfile_backups=10         
loglevel=info              
pidfile=/data/supervisor/supervisord.pid
nodaemon=false             
minfds=1024                
minprocs=200

[supervisorctl]
serverurl=unix:///data/supervisor/supervisor.sock

[include] #注销前面的;号
files = /etc/supervisor/*.conf  # 包含的配置文

二、设置开机自启动

1、设置开机自启动supervisor
[root@localhost ~]# cat /usr/lib/systemd/system/supervisord.service
[Unit]
Description=Process Monitoring and Control Daemon
After=rc-local.service nss-user-lookup.target

[Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf
ExecStop=/usr/bin/supervisorctl -c /etc/supervisord.conf shutdown
ExecReload=/usr/bin/supervisorctl -c /etc/supervisord.conf reload
ExecStatus=/usr/bin/supervisorctl -c /etc/supervisord.conf status
ExecRestart=/usr/bin/supervisorctl -c /etc/supervisord.conf restart

[Install]
WantedBy=multi-user.target

2、启动supervisor服务
systemctl daemon-reload
systemctl enable --now supervisord.service
systemctl status supervisord.service

3、常用命令
# 启动supervisord
systemctl start supervisord.service

# 查看supervisord状态
systemctl status supervisord.service

# 重启supervisord
systemctl restart supervisord.service

# 停止supervisord
systemctl stop supervisord.service

# 重载配置
systemctl reload supervisord.service

三、设置微服务

1、配置微服务
cd /etc/supervisor

[root@localhost supervisor]# pwd
/etc/supervisor

[root@localhost supervisor]# cat aivideo-pro.conf 
[program:aivideo-pro]                              
directory=/usr/local              
command=/usr/bin/java -jar /usr/local/aivideo-pro.jar
autostart=true
autorestart=true                                   
startretries=3                                     
user=root                                          
priority=100                             
stopsignal=INT                                     
redirect_stderr=true                               
stdout_logfile_maxbytes=300MB                      
stdout_logfile_backups=80                       
stdout_logfile=/usr/local/aivideo-pro.log 
stopasgroup=false                                  
killasgroup=false

[root@localhost supervisor]# cat MediaServer.conf 
[program:MediaServer]                              
directory=/usr/local/ZLMediaKit/release/linux/Debug              
command=/usr/local/ZLMediaKit/release/linux/Debug/MediaServer -s default.pem -d
autostart=true
autorestart=true                                   
startretries=3                                     
user=root                                          
priority=10                                      
stopsignal=INT                                     
redirect_stderr=true                               
stdout_logfile_maxbytes=500MB                      
stdout_logfile_backups=10                       
stdout_logfile=/usr/local/ZLMediaKit/release/linux/Debug/MediaServer.log
stopasgroup=false                                  
killasgroup=false 

参数说明:
1)启动命令行请用绝对路径,避免启动中报错。
2)启动命令行,日志大小,保存多少个文件,日志路径等根据需要更改即可。

3、导入配置文件
# 检查配置文件
[root@localhost ~]# supervisorctl reread
No config updates to processes

# 更新配置文件
[root@localhost ~]# supervisorctl update
MediaServer: added process group
aivideo-pro: added process group

# 重启所有微服务
[root@localhost ~]# supervisorctl reload
Restarted supervisord

注意:先将原有java服务给停止,再执行reload命令

4、启动具体微服务(第三点执行后,这个不用在执行)
[root@localhost ~]# supervisorctl start aivideo-pro
aivideo-pro: started
[root@localhost ~]# supervisorctl status aivideo-pro
aivideo-pro          RUNNING   pid 39746, uptime 0:00:08

5、查看所有微服务状态
[root@localhost ~]# supervisorctl status all
MediaServer                      RUNNING   pid 37645, uptime 1:44:39
aivideo-pro                      RUNNING   pid 39746, uptime 1:38:57

四、supervisor常用命令

supervisorctl status  all  ;查看所有进程状态
supervisorctl stop    all  ;停止所有进程
supervisorctl start   all  ;启动所有进程
supervisorctl restart all  ;重启所有进程
supervisorctl reread       ;重新加载配置文件
supervisorctl reload       ;重启supervisord

supervisorctl update ;启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启,如果设置了autostart=true则会启动新新增的子进程

supervisorctl status   [进程名]    ;查看全部或指定进程状态
supervisorctl start    [进程名]    ;启动指定子进程
supervisorctl restart  [进程名]    ;重启指定子进程
supervisorctl stop  [进程名]       ;停止指定子进程
supervisorctl add                 ;添加子进程到进程组
supervisorctl reomve              ;从进程组移除子进程,需要先stop。注意:移除后,需要使用reread和update才能重新运行该进程

注意:start、restart、stop都不会载入最新的配置文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋天枫叶35

希望能帮到你,谢谢你能阅读~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值