Centos7.5、python3下的Supervisor安装及配置

直接通过yum或pip安装Supervisor,所安装的版本通常较低,无法使用python3

yum install supervisor
pip install supervisor

可通过pip3安装,如因网络问题安装失败,可多尝试几次

pip3 install git+https://github.com/Supervisor/supervisor    

pip3 install supervisor==4.2.1    

然后,通过echo_supervisord_conf 命令生成配置文件

echo_supervisord_conf > /etc/supervisord.conf

1.配置开启下http服务,设置端口及ip
2.配置include路径

[unix_http_server]
file=/tmp/supervisor.sock   ; the path to the socket file
;chmod=0700                 ; socket file mode (default 0700)
;chown=nobody:nogroup       ; socket file uid:gid owner
;username=user              ; default is no username (open server)
;password=123               ; default is no password (open server)
...
[inet_http_server]         ; inet (TCP) server disabled by default
port=0.0.0.0:30000        ; ip_address:port specifier, *:port for all iface
;username=user              ; default is no username (open server)
;password=123  
...
[include]
files = /etc/supervisord.d/*.ini

在/etc/supervisord.d内创建thread.ini文件配置要启动的脚本

[program:MQTT]
command=python3 MQTT.py
directory=/home/
environment=ASPNETCORE__ENVIRONMENT=Production
user=root
stopsignal=INT 
autostart=true
autorestart=true
startsecs=3
startretries=999
stderr_logfile=/var/log/MQTT.err.log
stdout_logfile=/var/log/MQTT.out.log

参数说明

startretries=999 ;当进程启动失败后,最大尝试启动的次数
startsecs=3;这个选项是子进程启动多少秒之后,此时状态如果是running,则我们认为启动成功了

配置参数详解
https://www.cnblogs.com/ajianbeyourself/p/5534737.html

使用命令supervisord -c /etc/supervisord.conf启动,测试是否安装正常
使用ps -fe | grep supervisord查看进制

常用命令

supervisorctl status        //查看所有进程的状态
supervisorctl stop es       //停止es
supervisorctl start es      //启动es
supervisorctl restart       //重启es
supervisorctl update        //配置文件修改后使用该命令加载新的配置
supervisorctl reload        //重新启动配置中的所有程序

在/usr/lib/systemd/system路径下,创建supervisord.service文件

[Unit]
Description=Process Monitoring and Control Daemon
After=rc-local.service nss-user-lookup.target

[Service]
Type=forking
PIDFile=/tmp/supervisord.pid
ExecStart=/usr/local/bin/supervisord -c /etc/supervisord.conf
ExecStop=/usr/local/bin/supervisorctl shutdown
ExecReload=/usr/local/bin/supervisorctl reload
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target

设置开机启动

systemctl enable supervisord
systemctl restart supervisord
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值