Supervisor是一个进程管理工具,它允许用户监视和控制Linux操作系统上的许多进程。
对于很多开发者来说,自己编写的进程,特别是长时间运行的进程,往往都无法实时监控其运行状态。supervisor的出现解决了这样的痛点。
supervisor不但可以监控进程状态,还可以重启、自动重启、关闭进程。同时,supervisor的web服务还使得开发者能够联网执行这些操作。
本文档服务器环境为centos7,用户权限是root权限。
1. 安装第三方yum源
yum install -y epel-release
2. 安装supervisor
yum install -y supervisor3. 配置supervisor
寻找supervisor的配置文件supervisord.conf,添加如下项目 [include] files = supervisord.d/*.ini4. 进程项目配置
创建/etc/supervisord.d/testproject.ini,参考如下配置。详细配置信息,请参考:http://supervisord.org/configuration.html[program:testproject] # 项目所在目录 directory=/opt/testproject # 启动项目的命令,一定要完整 command=/root/miniconda3/bin/python test.py # 使用者权限 user=root # 是否自动启动 autostart=true # 关闭后是否自动重启 autorestart=true # 是否可以关闭整个进程组,如果有 stopasgroup=true # 是否可以关闭整个进程组,跟stopasgroup同时使用 killasgroup=true # 重试次数 startretries=5 # 是否对标准错误重定向 redirect_stderr=true # 标准输出日志路径 stdout_logfile=/opt/testproject/log_files/testproject_supervisor.log # 标准输出日志最大字节数 stdout_logfile_maxbytes=200MB # 标准输出日志文件最多个数 stdout_logfile_backups=5 # 日志的级别 loglevel=info