Skip to main content

Supervisor 进程管理

Supervisor 是一个 Python 编写的进程管理工具,用于监控和控制 Unix/Linux 系统上的进程。 详细教程博客文章

简介

Supervisor 可以:
  • 自动启动、停止、重启进程
  • 监控进程状态,崩溃后自动重启
  • 提供 Web 界面管理
  • 记录进程输出日志
  • 进程分组管理

安装

Ubuntu/Debian

CentOS/RHEL

Python pip

配置文件

主配置文件位置:
  • Ubuntu: /etc/supervisor/supervisord.conf
  • 自定义程序配置: /etc/supervisor/conf.d/*.conf

基本配置结构

常用命令

管理 Supervisor 服务

管理进程

配置示例

Python Web 应用

Node.js 应用

Celery Worker

进程组

Web 界面

启用 Web 管理界面:
访问:http://localhost:9001

环境变量

日志管理

优雅关闭

多进程管理

故障排查

查看日志

常见问题

  1. 进程启动失败
    • 检查命令路径是否正确
    • 检查用户权限
    • 查看日志文件
  2. 进程频繁重启
    • 增加 startsecs 值
    • 检查程序本身是否有问题
  3. 配置不生效

最佳实践

  1. 使用配置文件分离:每个程序一个配置文件
  2. 设置合理的日志大小:避免磁盘占满
  3. 使用专用用户:提高安全性
  4. 进程分组:方便批量管理
  5. 设置环境变量:配置与代码分离
  6. 监控告警:结合监控系统使用
  7. 定期备份配置:版本控制配置文件

替代方案

  • systemd:Linux 系统服务管理
  • PM2:Node.js 进程管理器
  • circus:Python 进程管理
  • monit:系统监控和进程管理

参考资源

最后修改于 2026年4月19日