Supervisor 在 Rocky Linux 上的安装与使用指南 Supervisor 是一个用 Python 编写的进程控制系统,允许用户监控和控制类 UNIX 系统上的多个进程。下面是在 Rocky Linux 上安装和配置 Supervisor 的完整指南。 一、安装 Supervisor 1. 安装 EPEL 仓库(如果尚未安装) sudo dnf install epel-release sudo dnf update 2. 安装 Supervisor sudo dnf install supervisor 3. 启动并设置开机自启 sudo systemctl enable supervisord sudo systemctl start supervisord 4. 验证安装 sudo supervisorctl status 二、基本配置 1. 主配置文件位置 主配置文件位于 /etc/supervisord.conf 2. 包含自定义配置 默认配置会包含 /etc/supervisord.d/ 目录下的所有 .ini 文件: [include] files = /etc/supervisord.d/*.ini 三、配置管理进程 1. 创建自定义进程配置 在 /etc/supervisord.d/ 中创建新的配置文件,例如 myapp.ini : [program:myapp] command=/usr/bin/python3 /path/to/your/app.py directory=/path/to/your/app user=yourusername autostart=true autorestart=true startretries=3 stderr_logfile=/var/log/myapp.err.log stdout_logfile=/var/log/myapp.out.log environment=PYTHONPATH="/path/to/your/app" 2. 常用配置选项 选项 说明 command 要执行的命令 directory 运行命令前切换到的目录 user 运行进程的用户 autostart 是否随 Supervisor 启动而自动启动 autorestart 是否自动重启 (true/false/unexpected) startretries 启动失败后的重试次数 stderr_logfile 标准错误日志文件 stdout_logfile 标准输出日志文件 environment 设置环境变量 四、Supervisor 命令使用 1. 重新加载配置 sudo supervisorctl reread sudo supervisorctl update 2. 管理进程 # 启动进程 sudo supervisorctl start myapp # 停止进程 sudo supervisorctl stop myapp # 重启进程 sudo supervisorctl restart myapp # 查看所有进程状态 sudo supervisorctl status # 查看特定进程状态 sudo supervisorctl status myapp 3. 查看日志 # 查看主日志 sudo tail -f /var/log/supervisor/supervisord.log # 查看应用日志 sudo tail -f /var/log/myapp.out.log 五、Web 界面(可选) 1. 启用 Web 界面 编辑 /etc/supervisord.conf ,取消注释或添加以下内容: [inet_http_server] port=*:9001 username=admin password=yourpassword 2. 重启 Supervisor sudo systemctl restart supervisord 3. 访问 Web 界面 通过浏览器访问 http://your-server-ip:9001 六、高级配置 1. 进程组管理 [group:mygroup] programs=myapp1,myapp2 priority=999 2. 事件监听 [eventlistener:memmon] command=memmon -p myapp=200MB events=TICK_60 3. 日志轮转 安装 logrotate 并创建 /etc/logrotate.d/supervisor : /var/log/supervisor/*.log { daily missingok rotate 14 compress delaycompress notifempty create 0640 root root postrotate /usr/bin/supervisorctl pid > /dev/null && /usr/bin/supervisorctl reopen_logs endscript } 七、故障排除 1. 常见问题解决 配置更改不生效 : sudo supervisorctl reread sudo supervisorctl update 进程无法启动 : 检查 /var/log/supervisor/supervisord.log 和应用的错误日志 权限问题 : 确保配置中指定的用户有执行命令和写入日志的权限 2. 日志位置 主日志: /var/log/supervisor/supervisord.log 子进程日志:在各自配置中指定的位置 八、安全注意事项 不要以 root 用户运行应用程序 Web 界面应设置强密码 考虑限制 Web 界面的访问 IP 定期检查日志文件 保持 Supervisor 更新到最新版本 通过以上步骤,您可以在 Rocky Linux 上成功安装和配置 Supervisor,实现对关键进程的有效管理和监控。