生成 Supervisor 进程管理配置文件
工具功能
- 完整程序配置: 通过可视化界面配置所有 Supervisor 程序设置,包括命令、目录、用户、进程数量,无需记忆 INI 语法
- 自动重启策略: 灵活的重启策略:意外退出时重启、总是重启或从不重启。配置重试次数和停止信号,实现健壮的进程管理
- 全面日志管理: 配置标准输出和错误日志文件,支持日志轮转设置、最大文件大小和备份数量,高效管理磁盘空间
- 高级进程控制: 设置进程优先级、环境变量和多进程实例,实现可扩展的守护进程管理,提供生产就绪的配置
使用方法
- 基础设置: 输入程序名称、执行命令、工作目录和运行用户
- 启动选项: 配置开机自启、重启策略和重试次数
- 日志配置: 设置日志文件路径、最大文件大小和备份轮转次数
- 部署: 下载配置文件到 /etc/supervisor/conf.d/ 并重新加载 Supervisor
生成原理
Supervisor 架构
Supervisor 使用客户端-服务器模型,supervisord 守护进程监控进程,supervisorctl CLI 进行控制。它从 /etc/supervisor/conf.d/ 目录读取配置文件。每个程序在 INI 格式的配置文件中定义,如 [program:name] 区段。Supervisor 监控进程 PID 并根据配置的策略重启程序。
进程生命周期管理
Supervisor 管理完整的进程生命周期:启动、监控、停止和重启。autorestart 选项决定重启行为:'unexpected' 仅在意外退出时重启(非零退出码)、'true' 总是重启、'false' 从不重启。startretries 定义放弃前尝试启动失败进程的次数。
日志轮转和管理
Supervisor 提供内建日志轮转,使用 stdout_logfile_maxbytes 和 stdout_logfile_backups 设置。当日志文件达到最大大小时,它会被轮转,旧文件根据备份数量保留。这防止磁盘空间问题。可使用 'supervisorctl tail -f programname' 命令实时监控日志。
常见问题
- Supervisor 配置生成器是做什么用的?
- Supervisor 配置生成器用于创建 Supervisor 进程管理的配置文件。Supervisor 是一个进程控制系统,用于在 Linux/Unix 系统上管理长时间运行的进程。本工具通过可视化界面帮助您配置程序设置、自动启动/重启策略、日志管理、进程优先级和环境变量,自动生成符合规范的 supervisor.conf 配置文件。
- 如何使用这个配置生成工具?
- 使用步骤:1) 输入程序名称和执行命令;2) 设置工作目录和运行用户;3) 配置自动启动和重启策略;4) 设置日志文件路径和轮转规则;5) 配置进程优先级和环境变量;6) 点击下载按钮获取配置文件;7) 将文件保存到 /etc/supervisor/conf.d/ 目录;8) 运行 supervisorctl reread && supervisorctl update 使配置生效。
- autorestart 的三个选项有什么区别?
- autorestart 控制进程退出后的重启行为:1) unexpected(意外退出时):仅当进程返回非零退出码时重启,这是最常用的选项;2) true(总是):无论进程如何退出都会重启,适用于必须持续运行的服务;3) false(从不):进程退出后不会自动重启,适用于一次性任务。建议大多数服务使用 unexpected 选项。
- 这个工具免费吗?
- 是的,这个 Supervisor 配置生成工具完全免费。无需注册账号,无需付费,无使用次数限制。所有功能都可以直接使用,包括完整的程序配置、日志管理设置、环境变量配置、配置文件下载等。工具在浏览器本地运行,不收集任何用户数据。
- 生成的配置文件如何部署?
- 部署步骤:1) 下载生成的配置文件;2) 将文件上传到服务器的 /etc/supervisor/conf.d/ 目录;3) 确保文件名以 .conf 结尾;4) 运行 supervisorctl reread 重新读取配置;5) 运行 supervisorctl update 应用新配置;6) 使用 supervisorctl status 检查程序状态。配置文件修改后也需要执行 reread 和 update 命令。
相关文档
- Supervisor 官方文档 - Supervisor 配置和使用的完整指南
- Supervisor 程序配置 - [program:x] 区段设置的详细参考
- Supervisorctl 命令 - 管理进程的命令行接口参考
- Supervisor 最佳实践 - 生产部署的提示和最佳实践
- Supervisor 事件和通知 - 进程状态变更的事件监听器系统