2022-07-05 23:15:37

使用supervisor管理应用程序

最大的特点,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

本文链接:https://troy.wang/post/supervisor.html

-- EOF --