Supervisor 的安装与使用

什么是Supervisor?

Supervisor 是用 Python 实现的一款Linux/Unix系统下的一个进程管理工具,不支持Windows系统,它可以很容易监听、启动、停止、重启一个或多个进程,而且它管理的程序是非 daemon 程序;如果用Supervisor管理进程,当进程被杀死后,Supervisor监听到进程死后,会自动将被杀死的进程自动启动,进程就可以自动恢复了,不需要自己写shell脚本来控制。简单来说,就是用来管理进程的。
 

1、如果你没有安装过 EPEL,则请先安装  EPEL

yum install epel-release

 

 

EPEL 也就是 EPEL源,安装完成之后你就可以直接使用yum来安装额外的软件包,有部分软件,是需要安装这个包之后,才能更方便快捷地进行安装的。如果已安装过,则可以跳过,否则,如果直接安装Supervisor,则可能会出现下面的错误提示:

  

2、如何安装Supervisor ?

yum install -y supervisor   #安装 EPEL  后,这个脚本进行supervisor的安装

这个过程,需要一些时间,输出的信息也比较多,我就只截取一部分

 

3、验证是否安装成功

完成安装后,可以通过 查看版本号验证是否安装成功:
supervisord --version

 

4、配置

 正常情况下,在 /etc/下,会有一个名称为 supervisord.conf 的配置文件,通过下面脚本,可以打开配置文件,进行一些必要的编辑:

vim /etc/supervisord.conf

 

 

 

 比较常修改的配置项有:logfile ( 日志存储 ) 和 files ( 需要守护的进程配置信息 目录 ),这里我只修改 file 的配置项:
files = /etc/supervisor/conf.d/*.conf

然后通过 按 Esc 键 输入 :wq ,然后回车,就可以保存配置,并退出了。

因为我们上面配置的路径中,/etc/supervisor/conf.d/ 这个目录,是不存在的,那么我们就要通过脚本创建相应的目录
 
mkdir /etc/supervisor
mkdir /etc/supervisor/conf.d

这一个配置目录,大家可以根据自己的情况配置,上面的配置完成后,supervisor 就可以读取配置目录下的 所有 扩展名为 .conf 的配置文件了。

 

5、常用命令

1 supervisorctl status  # 查看守护进程的远行状态,如果配置的目录下没有配置,则不显示信息
2 supervisorctl stop all # 停止所的守护进程
3 supervisorctl stop name # 停止名称为 name 的守护进程
4 supervisorctl reload   # 重新加载所有进程,一般是修改配置后执行
5 supervisorctl start name  # 启动名称为 name 的守护进程
6 supervisorctl restart name # 重新启动名称为 name 的守护进程
7 supervisorctl update #根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启

 

6、配置示例

在确认 supervisor 可以正确启动后,接下来,我们可以创建一个守护进程的配置文件

vim /etc/supervisor/conf.d/website.conf # 守护进程配置

配置内容,可参考下面 .net core 站点的配置

1 [program:website]
2 command=dotnet website.dll ; # 运行程序的命令
3 directory= /var/www/app/website; 对应的你的项目的存放目录
4 autorestart=true ; # 程序意外退出是否自动重启
5 stderr_logfile=/var/log/www/website/website.err.log ; # 错误日志文件
6 stdout_logfile=/var/log/www/website/website.out.log ; # 输出日志文件
7 environment=ASPNETCORE_ENVIRONMENT=Production ; # 进程环境变量
8 user=root ; # 进程执行的用户身份
9 stopsignal=INT

[program:website] 这个website 名称是会在 输入 supervisorctl 相关命令中显示的名称,同时这个名称不可重复使用。

 

实现环境:Centos 7.9.2009

 

posted @ 2022-02-23 11:17  鹅城小将  阅读(1745)  评论(0编辑  收藏  举报