最大的特点,python开发的,各平台通用,支持模块化文件定义管理
主配置文件
systemd管理他自己本身,将它托付给系统
[Unit]
Description=Supervisor daemon
[Service]
Type=forking
ExecStart=/usr/local/bin/supervisord -c /etc/supervisor/supervisord.conf
ExecStop=/usr/local/bin/supervisorctl $OPTIONS shutdown
ExecReload=/usr/local/bin/supervisorctl $OPTIONS reload
KillMode=process
Restart=on-failure
RestartSec=30s
[Install]
WantedBy=multi-user.target
[unix_http_server]
file=/var/run/supervisor.sock
chmod=0770
chown=sre:sre
[supervisord]
logfile=/var/log/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
childlogdir=/var/log/supervisor ; ('AUTO' child log dir, default $TEMP)
minfds=100000 ; key config, default 1024
minprocs=20000
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[supervisorctl]
serverurl=unix:///var/run/supervisor.sock
[include]
files = /etc/supervisor/conf.d/*.conf
管理个应用
[program:biu]
command=/data/services/biu/biu api -d files -p 8080
directory=/data/services/biu
user=sre
environment=HOME=/home/sre
stopsignal=TERM
stopasgroup=true
stdout_logfile=/data/services/biu/logs/biu.log
redirect_stderr=true
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=5
autorestart=true
autostart=true
常用命令
# 重载配置
supervisorctl reload
# 启动biu,如果autostart=true,无需
supervisorctl start biu
# 重启biu
supervisorctl restart biu
# 更新配置
supervisorctl update biu
# 停止biu
supervisorctl stop biu
# 查看日志
supervisorctl tail -f biu