参考文章:https://www.jianshu.com/p/ae15cfa72244
参考2:https://blog.csdn.net/donggege214/article/details/80264811
【非常重要】supervisor必须使用pip安装【基于Python的应用,如果你使用yum安装可能不是最新版本,各种问题】
务必注意:Supervisor设置开机启动,不能安装在pipenv虚拟环境【直接安装在本地环境即可】
设置Supervisor开机自启动
Supervisor在其Github开源项目中,提供了各个系统的脚本,详见:Supervisor/initscripts
CentOS 7 中,我们使用Systemd来管理自启动服务,对应的脚本,我们使用此文件:https://github.com/Supervisor/initscripts/blob/master/centos-systemd-etcs
官方提供的supervisord.service配置文件,按照自己的路径修改之后放入这个路径:/usr/lib/systemd/system/supervisord.service
# supervisord service for systemd (CentOS 7.0+)
# by ET-CS (https://github.com/ET-CS)
[Unit]
Description=Supervisor daemon
[Service]
Type=forking
# 这里必须修改成你当前环境下的supervisord路径【可能是安装在虚拟环境】
ExecStart=/usr/local/anaconda3/bin/supervisord
ExecStop=/usr/local/anaconda3/bin/supervisorctl $OPTIONS shutdown
ExecReload=/usr/local/anaconda3/bin/supervisorctl $OPTIONS reload
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target
我们直接下载文件,储存至Systemd的配置目录即可。下面是Wget下载命令:
- Systemd Service 位于
/etc/systemd/system
(供系统管理员和用户使用),/usr/lib/systemd/system
(供发行版打包者使用),我们一般使用前者即可。
wget -O /usr/lib/systemd/system/supervisord.service https://raw.githubusercontent.com/Supervisor/initscripts/master/centos-systemd-etcs
启动Supervisor服务
重新加载Systemd配置【必须运行】,使得Supervisord配置生效:
systemctl daemon-reload
然后设置自启动,并启动Supervisor服务:
systemctl enable supervisord.service
systemctl start supervisord.service