supervisor安装
全局安装,控制虚拟环境
pip install supervisor
生成配置文件
echo_supervisord_conf >/etc/supervisord.conf
修改配置文件
vi /etc/supervisord.conf
# 修改最后两行,将前两行分号去掉 .conf 文件的 ; 和 # 为注释
[include]
files = /etc/supervisor/*.conf
配置子进程
mkdir /ect/supervisor
touch web.conf # 文件名可自定义
vi /ect/supervisor/web.conf
programs=Django-8999
[program:Django-8999]
command=/data/env2/pyweb/bin/uwsgi -x /data/wwwroot/blog/blog.xml
directory=/data/wwwroot/blog
user=root
autorestart=true
redirect_stderr=true
stdout_logfile=/home/log/Django.log
loglevel=info
非开机启动
命令
supervisord -c /etc/supervisord.conf
查看 supervisord 是否在运行
ps aux | grep supervisord
开机启动
新建
vi /usr/lib/systemd/system/supervisord.service
配置
[Unit]
Description=supervisor
After=network.target
[Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf
ExecStop=/usr/bin/supervisorctl shutdown
ExecReload=/usr/bin/supervisorctl reload
KillMode=process
Restart=on-failure
RestartSec=42s
[Install]
WantedBy=multi-user.target
设置
systemctl enable supervisord
systemctl is-enabled supervisord # 验证一下是否为开机启动
后台supervisorctl
代码语言:javascript复制supervisorctl
> status # 查看程序状态
> stop tornadoes:* # 关闭 tornadoes组 程序
> start tornadoes:* # 启动 tornadoes组 程序
> restart tornadoes:* # 重启 tornadoes组 程序
> update # 重启配置文件修改过的程序