Supervisor 是一个客户端服务器系统,包含有两个程序:
# Centos7下的Supervisor下载
yum install supervisor
加一个pip安装supervisor的链接
https://segmentfault.com/a/1190000019596282?utm_source=tag-newest
常用命令
service supervisord start # 启动服务
service supervisord restart # 重启服务
supervisorctl # 进入supervisorctl命令行并列出当前所有项目的运行状态
supervisorctl reread # 重新读取配置
supervisorctl update # 更新以便让配置生效
supervisorctl status # 查看所有项目的运行状态
supervisorctl start program_name # 开始项目运行
supervisorctl stop program_name # 停止项目运行
当下载完成后,默认配置文件(supervisor.conf 和 supervisord.d)会存在于/etc下面,其中supervisor是我自己创建的,用来存放所有项目配置文件。
[root@localhost etc]# ls | grep supervisor
supervisor
supervisord.conf
supervisord.d
修改项目配置文件夹的导入路径可在 supervisord.conf 中修改
[include]
files = supervisor/conf.d/*.ini # 这里的意思是导入conf.d文件夹下的所有以.ini结尾的配置文件
例如我的配置文件完整路径为
/etc/supervisor/conf.d/project.ini
项目配置表内容
[program:voice_presentation]
# command是完整的启动项目的命令(用了虚拟环境的话,记得导入的gunicorn是虚拟环境中的gunicorn。)
command=/gunicorn_path -c gunicorn.conf.py wsgi:app
directory=/project_dir # 命令运行目录
user=root # 用户名
autostart=true # supervisor启动时启动
autorestart=true # 故障时自动重启
stopasgroup=true
killasgroup=true
loglevel=info
额外的设置(可选)
一. 非root用户也可使用supervisorctl
修改配置文件 /etc/supervisor.conf 的一个地方
[unix_http_server]
file=/var/run//supervisor.sock
chmod=0777 ; 原来是chmod=0700
二. 设置 HTTP 服务
加入如下两行到 /etc/supervisord.conf 中
[inet_http_server]
port = :9001
supervisorctl reload 重新加载配置。打开浏览器输入 http://localhost:9001, 就会看到管理页面了,网页上的功能也很全。
(简洁)参考 链接
(详细)参考 链接
新建一个“supervisord.service”文件
#dservice for systemd (CentOS 7.0+)
#by ET-CS (https://github.com/ET-CS)**
[Unit]
Description=Supervisor daemon
[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
将文件拷贝至:“/usr/lib/systemd/system/supervisord.service”
systemctl enable supervisord
验证一下是否为开机启动:systemctl is-enabled supervisord
supervisor event 链接
supervisor xml_rpc 链接
部分内容参考链接:
https://www.cnblogs.com/94cool/p/5952219.html