Supervisor 配置gunicorn以及设置开机自启动(centos7)

一. Supervisor安装及配置gunicorn

Supervisor 是一个客户端服务器系统,包含有两个程序:

  • Supervisor的server部分称为supervisord。主要负责管理子进程,响应客户端的命令,log子进程的输出,创建和处理不同的事件
  • Supervisor的命令行客户端supervisorctl。它可以与不同的supervisord进程进行通信,获取子进程信息,管理子进程
# 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, 就会看到管理页面了,网页上的功能也很全。

(简洁)参考 链接
(详细)参考 链接

二. Supervisor配置开机启动

新建一个“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的其它功能

supervisor event 链接
supervisor xml_rpc 链接

部分内容参考链接:
https://www.cnblogs.com/94cool/p/5952219.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值