supervisor的使用

supervisor作为常见的进程守护应用,存在不少设计上的欠缺这导致有很多易用的问题。
supervisorhttps://supervisord.org/
这篇文章核心解决的是权限的问题

一,说明

由于supervisor经常出现各类权限问题,我们在这里设置supervisor的所有目录为:

1
2
3
/opt/supervisor   #主目录
/opt/supervisor/conf.d/ #配置文件目录
/opt/supervisor/logs/ #日志目录

同时,将配置文件的目录、日志目录等都放在这里。
并修改文件夹的User为你当前的User:

1
chown -R $USER:$USER /opt/supervisor/

二,安装

最好通过pip来安装

1
pip3 install supervisor

产生默认配置文件:

1
echo_supervisord_conf

将控制台输出的内容作为supervisor的配置文件存到/opt/supervisor/目录

1
vim supervisord.conf

三,配置

修改配置文件里的各类文件位置为/opt/supervisor/,例如:

1
2
3
4
5
6
7
8
9
[unix_http_server]
file=/opt/supervisor/supervisor.sock
[supervisord]
logfile=/opt/supervisor/supervisord.log
pidfile=/opt/supervisor/supervisord.pid
[supervisorctl]
serverurl=unix:///opt/supervisor/supervisor.sock
[include]
files = /opt/supervisor/conf.d/*.conf

注意,上面这些配置需要关闭注释,也就是;字符

四,加载配置文件

如果你之前装了supervisor,先杀掉进程。

1
2
#检查相关进程
ps -fe | grep supervisord
1
supervisord -c /opt/supervisor/supervisord.conf

注意,supervisorctl也需要通过-c命令执行:

1
supervisorctl -c /opt/supervisor/supervisord.conf

进入控制台之后,再执行reloadupdaterestart等命令