Supervisor 基本操作

因为使用 Supervisor 管理项目进程,所以还是要适当了解了解 Supervisor 的操作。

安装

推荐使用 yum 而不是 pip 安装,使用 yum 安装的话会自动生成配置文件(/etc/supervisord.conf),省时省力。

1
yum install -y supervisor

如果 yum 安装提示找不到 supervisor,可能是没有安装 epel 源:

1
2
yum install -y epel-release
yum update -y

配置

查看默认配置文件中托管程序配置文件格式

1
cat /etc/supervisord.conf

一般都在最后标明:

1
2
[include]
files = supervisord.d/*.ini

这说明,如果我们以配置文件 /etc/supervisord.conf 启动 supervisor,他会导入 /etc/supervisord.d/ 文件夹下所有后缀名为 ini 的配置文件。

如果你的默认配置是 files = supervisord.d/*.conf 也很简单,只需要在目录 /etc/supervisord.d/ 下创建后缀名为 conf 的配置文件即可。

如果没有默认配置文件,我们需要手动生成:

1
echo_supervisord_conf /etc/supervisord.conf

并且将生成配置文件最后的 [include] 以及 files 部分前面的注释 ; 去掉

创建托管程序配置文件

1
vim /etc/supervisord.d/server.ini
1
2
3
4
5
6
7
8
9
10
11
12
[program:server]
directory=/项目目录
command=/虚拟环境目录/bin/gunicorn -w 2 -b 127.0.0.1:5000 wsgi:app
autostart=true
autorestart=true
user=用户
startsecs=3
startretries=5
redirect_stderr=true
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10
stdout_logfile=/opt/server.log

变量的意思基本都很明确,按照自己的需求进行修改即可。

启动 Supervisor

1
supervisord -c /etc/supervisord.conf

使用 supervisorctl

supervisorctl 是 supervisord 提供的一个命令行工具,用来简化管理。

下表列出了 supervisorctl 的命令和相应的用途(注:所有命令都需要管理员权限):

命令 用途
supervisorctl update 更新新的配置到 supervisord,用于添加新的程序的情况
supervisorctl reread 重新加载已有程序的配置文件,不会主动添加新程序
supervisorctl start program 启动程序 program
supervisorctl stop program 关闭程序 program
supervisorctl restart program 重启程序 program
supervisorctl status 查看所有托管程序状态
supervisorctl stop all 停止所有程序

基本上就是这样。

-------------本文结束感谢阅读-------------
  • 本文标题:Supervisor 基本操作
  • 本文作者:xlui
  • 发布时间:2017年10月01日 - 20:10
  • 最后更新:2023年01月20日 - 01:01
  • 本文链接: https://xlui.me/t/supervisor/
  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明出处!