yum安装supervisor并设置开机启动实现方式
作者:py_op_dev
还在为服务意外.挂掉而烦恼吗?本文手把手教你使用supervisor管理进程,从安装到开机启动配置,再到nginx和celery的守护示例,并详解目录、错误日志重定向、备份等核心参数,让你的服务稳定运行
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. 总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
