1.supervisor简介
Supervisor(http://supervisord.org/)是一个 C/S 模型的程序,Python开发的一个client(supervisorctl)/server(supervisord)服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。
2.适合采用的场景
在服务器众多时,项目以tomcat为主,而且服务起上tomcat的节点比较多,此时通过脚本管理就比较棘手。就需要一个统一的进程管理项目,因此选用supervisor来进行管理。
3.下面进行安装部署
安装之前首先需要你的环境中是带有python环境
python -V #检测 具体的python版本信息
检测如果有python然后进行接下来的步骤:
1.安装主题:supervisor
yum -y install supervisor #使用yum进行安装
2.今天的主题是通过supervisor进行tomcat单机多实例下面开始部署tomcat
1.配置安装jdk环境(上传已经准备好的jdk-tar包)
tar -zxf jdk-8u60-linux-x64.tar.gz -C /usr/local/ #解压(zxf)jdk包到指定(-C)路径
chown -R root.root /usr/local/jdk1.8.0_60 #修改它的属组
cat>>/etc/profile<<\EOF #添加变量到/etc/profile
###jdk环境###
export JAVA_HOME=/usr/local/jdk1.8.0_60
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
export CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar
EOF
source /etc/profile #生效刚才所写的环境变量
java -version #查看刚才安装jdk版本
2.下面进行安装tomcat
tar zxf apache-tomcat-8.5.35.tar.gz #解压提前 准备好的 tomcat包
mkdir /opt/app01 #创建一个存放tomcat项目的地方
cp -a apache-tomcat-8.5.35/* /opt/app01/ # 通过cp 拷贝把刚才解压好的包 移动过去
cd /opt/app01
ll #查看 这个目录下 文件(夹)
#切到刚才cp的位置,里面有三个文件是必有的bin-conf-lib,反过来就也有一些是没有必要存在的 比如 LICENSE ....等 这个我们可以选择删除 也可以保留
这是启动tomcat
./bin/startup.sh
这是停止tomcat
./bin/shutdown.sh
如果想监测是否正常启动:
ps -ef | grep java
下面配置supervisor的文件
cat /etc/supervisord.d/app01.ini
#[program:app01]
#command=/opt/app01/bin/catalina.sh run
#environment=JAVA_HOME="/usr/local/jdk1.8.0_60",JAVA_BIN="/usr/local/jdk1.8.0_60/bin"
#directory=/opt/app01/bin/
#numprocs=1
#user = root
#autostart = true
#autorestart=true
#startsecs = 5
配置好以后重启supervisor:
systemctl restart supervisord.service #重启服务
ps -ef | grep java #这个时候去查看tomcat就会被带起来
下面开始实现单机多实例
1.cp 一份 之前做的第一项目
cp -a /opt/app01 /opt/app02
vim /opt/app02/conf/server.xml
#修改三个配置 分别修改 Server port 两个 Connector port
#<Server port="18005" shutdown="SHUTDOWN">
#<Connector port="18080" protocol="HTTP/1.1"
#<Connector port="18009" protocol="AJP/1.3" redirectPort="8443" />
2.修改好以后可以启动服务去测试一下刚才弄的那个小项目
/opt/app02/bin/startup.sh
#访问时候加上你修改的新端口号 --- ip+端口号
3.下面将新项目添加到supervisor服务
vim /etc/supervisord.d/app02.ini
#[program:app02]
#command=/opt/app02/bin/catalina.sh run
#environment=JAVA_HOME="/usr/local/jdk1.8.0_60",JAVA_BIN="/usr/local/jdk1.8.0_60/bin"
#directory=/opt/app02/bin/
#numprocs=1
#user = root
#autostart = true
#autorestart=true
#startsecs = 5
添加完并查看状态
supervisorctl update
常用supervisorctl命令
supervisorctl status #查看状态
supervisorctl stop tomcat #停止
supervisorctl start tomcat #启动
supervisorctl restart tomcat #重启
supervisorctl reread
supervisorctl update