Supervisor 进程管理系统

一、Supervisor简介
Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进去即可。也实现当子进程挂掉的时候,父进程可以准确获取子进程挂掉的信息的,可以选择是否自己启动和报警。supervisor还提供了一个功能,可以为supervisord或者每个子进程,设置一个非root的user,这个user就可以管理它对应的进程。
二、安装教程
1、Linux环境准备
安装java环境
yum -y install java-1.8.0-openjdk

*添加变量
/etc/profile
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.el7_8.x86_64
PATH=$PATH:$JAVA_HOME/bin 
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 
export JAVA_HOME  CLASSPATH  PATH
*安装所需要的软件包
yum -y install vim curl wget zip unzip
2、安装supervisor
Yum -y install supervisor
3、配置supervisor
主要文件有:/etc/supervisord.conf
/etc/superconfig/(此目录为新建的目录,主要是存放进程的配置文件)
/usr/local/src/(主要存放进程的启动文件需要从所管理进程的服务上拷贝)
4、配置文件的修改
/etc/supervisord.conf
Supervisor 进程管理系统
以上是web管理界面的地址和用户密码
Supervisor 进程管理系统

定义进程配置文件的存储位置
每一个需要管理的进程都需要在/etc/superconfig下面创建对应的配置文件例如
Supervisor 进程管理系统
Supervisor 进程管理系统

配置文件解析
Directory:程序的启动目录,也就是我们从进程服务器端拷贝.JAR文件存放的目录
Supervisor 进程管理系统

此目录下的logs目录为进程的日志目录,这个是我们新建的目录

Command:/usr/bin/java 此目录为java的目录
-jar
/usr/local/src/live-eureka.jar 定义进程java启动所执行的文件位置

5、supervisor命令解析
第一次启动supervisord
Supervisorctl -c /etc/supervisord.conf
以后启动只需要
[root@localhost src]# supervisorctl

status # 查看程序状态
stop usercenter # 关闭 usercenter 程序
start usercenter # 启动 usercenter 程序
restart usercenter # 重启 usercenter 程序
reread # 读取有更新(增加)的配置文件,不会启动新添加的程序
update # 重启配置文件修改过的程序

上一篇:supervisor + celery 的简单配置与报错处理


下一篇:Elcker-Supervisor的使用教程