supervisor管理tomcat

操作目的:用supervisor工具管理tomcat服务

 

 

 配置环境,安装服务,以及多实例

脚本编辑:

前提 机器的opt目录下必须有jdk-8u131-linux-x64_.rpm 以及apache-tomcat-8.5.35.tar.gz

复制代码
 1 #!/bin/bash
 2 systemctl stop firewalld
 3 setenforce 0
 4 echo "==========安装更新========"
 5 yum -y install epel-release
 6 yum -y install supervisor
 7 echo "=======初始化tomcat======="
 8 touch /etc/supervisord.d/tomcat.ini
 9 echo > /etc/supervisord.d/tomcat.ini
10 echo "=======配置jdk环境========"
11 java -version > /dev/null
12 if [ $? -ne 0 ]; then
13         cd /opt/
14         rpm -ivh jdk-8u131-linux-x64_.rpm
15 fi
16 echo "=====tomcat单机多实例====="
17 mkdir /opt/tomcat
18 for i in `seq 1 3`
19 do
20         t8009=`expr 8009 + $i`
21         t8005=`expr 8005 + $i`
22         t8080=`expr 8080 + $i`
23         mkdir /opt/tomcat/tomcat$i
24         cd /opt/
25         tar -zxvf /opt/apache-tomcat-8.5.35.tar.gz
26         mv /opt/apache-tomcat-8.5.35 /opt/tomcat/tomcat$i/apache-tomcat-8.5.35
27         cd /opt/tomcat/tomcat$i/apache-tomcat-8.5.35/conf
28         sed -i "s#8009#$t8009#g" server.xml
29         sed -i "s#8005#$t8005#g" server.xml
30         sed -i "s#8080#$t8080#g" server.xml
31         cat >>/etc/supervisord.d/tomcat.ini<<EOF
32 [program:tomcat$i]
33 command=/opt/tomcat/tomcat$i/apache-tomcat-8.5.35/bin/catalina.sh run
34 EOF
35 done
36 supervisord -n
复制代码

脚本执行后是supervisor的前台执行方式

也可以使用系统的后台开启方式

 1 systemctl start supervisord 

步骤完成后修改supervisor的配置文件,打开端口

1 [inet_http_server]         ; inet (TCP) server disabled by default
2 port=127.0.0.1:9001        ; (ip_address:port specifier, *:port for all iface)
3 username=user              ; (default is no username (open server))
4 password=123               ; (default is no password (open server))

这里需要注意的是port的端口设置,由于127是回环地址,需要改为自己生产环境的ip地址

yum安装的supervisor工具直接系统启动服务即可,查看状态为running正常状态

 

 开启三台tomcat服务,或者可以使用脚本代替

 

 

 

 完成后进入服务里面可以看到开启的tomcat

 

 

 

 通过help可以发现里面还可以进行开启关闭以及重启等服务

下面就是访问网页管理端

http://localhost:9001

登录账号及密码

可见通过页面的点击可以实现不同tomcat的管理

 

 

 

 日志如下

 

 

Error: Another program is already listening on a port that one of our HTTP servers is configured to use. Shut this program down first before starting

解决方法:

find / -name supervisor.sock

unlink /name/supervisor.sock

 

posted @ 2020-02-14 20:57  相磊  阅读(956)  评论(0编辑  收藏  举报