1. 安装
注意:一定要用root用户配置,否则后面supervisor无法启动
pip3 install supervisor
2. 创建配置文件
mkdir -p /etc/supervisor/conf.d&&echo_supervisord_conf > /etc/supervisor/supervisord.conf
# 归档操作 cp /usr/local/lib/python3.6/dist-packages/supervisor/skel/sample.conf /etc/supervisor/supervisor.conf
3. 编辑配置文件
vim /etc/supervisor/supervisor.conf
参考内容如下:grep -Ev "^;|^$" supervisord.conf
[unix_http_server]
file=/var/run/supervisor.sock ; (socket文件的路径,无需修改)
[inet_http_server]
port=*:8047 ; (supervisor的http访问端口)
username=user ; 设置用户名密码,默认直接登陆
password=123
[supervisord]
logfile=/var/log/supervisor/supervisord.log ; (主日志存储路径)
logfile_maxbytes=50MB ; (max main logfile bytes b4 rotation;default 50MB)
logfile_backups=5 ; (主日志存的循环备份数量,默认10。备份日志命名为xxx.1、xxx.2依次类推)
loglevel=info ; (log level;default info; others: debug,warn,trace)
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
nodaemon=false ; (start in foreground if true;default false)
minfds=1024 ; (min. avail startup file descriptors;default 1024)
minprocs=200 ; (min. avail process descriptors;default 200)
childlogdir=/var/log/supervisor ; ('AUTO' child log dir, default $TEMP)
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
serverurl=unix:///var/run/supervisor.sock ; use a unix:// URL for a unix socket
[include]
files = /etc/supervisor/conf.d/*.conf //重要配置,一定要修改
4. 启动
特别注意:一定要使用root用户启动
supervisord -c /etc/supervisor/supervisord.conf
5. 访问测试
访问地址: 服务器地址:8047
添加/更新需要管理的程序
1. 添加配置
supervisor启动或执行更新命令时,会读取在/etc/supervisor/conf.d
中所有以.conf
结尾的配置文件。也就是所,你可以一个软件写一个配置文件,也可以全部写到一个文件中。
vim /etc/supervisor/conf.d/xxx.conf
参考内容如下:
[group:iothttp3] //组名(自定义)
programs=sanjiaozui,sheyangzx //该组包含的程序(自动以)
stopasgroup=true
[program:sanjiaozui] //自定义程序名的配置
command=/opt/iothttp3/venv/bin/python -u app.py --c=sanjiaozui //程序启动命令
directory=/opt/iothttp3 //程序的根目录
user=root //管理用户,不用改
autostart=true //是否自动启动
autorestart=true //是否自动重启
redirect_stderr=true
stdout_logfile=/opt/iothttp3/log_sanjiaozui.log //日志文件
loglvel=info
2. 更新配置文件
- 新版本
使用root用户输入命令supervisorctl
然后输入配置文件中预设的账号密码。再输入update
。按ctrl+D退出. - 老版本
sudo supervisorctl update
3.刷新浏览器,查看效果
4. 注意
program的名称切忌不要重名
,程序名是不分管理组和配置文件的!
结束