supervisor常见于管理进程,例如asgi、celery、nginx等服务均可以通过supervisor管理进程。
1. 安装supervisor
yum install python3-supervisor echo_supervisord_conf >/etc/supervisord.conf (生成配置文件)
2. 设置开机启动配置
touch /usr/lib/systemd/system/supervisord.service
[unit] description=supervisor daemon [service] type=forking execstart=/usr/bin/supervisord -c /etc/supervisord.conf execstop=/usr/bin/supervisorctl shutdown execreload=/usr/bin/supervisorctl reload killmode=process restart=on-failure restartsec=42s [install] wantedby=multi-user.target
3. 开机启动
systemctl daemon-reload (重新reload开机启动所有配置) systemctl enable supervisord (允许supervisord服务开机自启动) systemctl start supervisord (启动supervisord) systemctl status supervisord (查看状态)
4. 新增配置通过supervisor管理进程
mkdir /etc/supervisor/conf.d/
touch super_nginx.conf
[program:nginx] command=/usr/sbin/nginx -g "daemon off;" # 启动命令 autostart=true #自启动 autorestart=true startretries=5 numprocs=1 startsecs=0 stderr_logfile=/var/log/supervisor/nginx_stderr.log stderr_logfile_maxbytes=10mb stdout_logfile=/var/log/supervisor/nginx_stdout.log stdout_logfile_maxbytes=10mb
配置文件中除了以上设置,还支持directory(目录)、redirect_stderr(错误日志重定向输出)、stdout_logfile_backups(文件备份)、priority(优先级)等参数设置
5. 总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论