一、需求说明
作为一名应用运维工程师,我们经常需要使用tomcat部署java工程项目,为了提高硬件资源的使用率,我们需要在一个服务器上部署多个项目。而且有时候需要为了匹配项目我们需要安装和配置指定的JAVA和tomcat版本,为了方便部署和管理,我们需要搭建一个tomcat多实例部署环境,所有的工程项目共享一套JAVA和tomcat软件程序,创建实例时指定需要的JAVA版本和tomcat版本,既可以节省存储空间又简化了多实例的管理和维护工作。
系统环境说明:
- 操作系统:centos7.6
- tomcat:8.5.51或者9.0.31
- java:jdk1.7.0_80或者jdk1.8.0_211
二、部署步骤
1、下载tomcat多实例一键部署脚本
下载链接:tomcat多实例一键部署脚本
2、将下载的文件上传到服务器
[root@centos7 tmp]# rz -y
rz waiting to receive.
zmodem trl+C ȡ
100% 379165 KB 3949 KB/s 00:01:36 0 Errors
[root@centos7 tmp]# ll -h
总用量 371M
-rw-r–r--. 1 root root 371M 5月 8 10:14 multi_tomcats.zip
3、创建bdsc账户
当然你也可以根据自己的习惯创建一个普通用户,届时将脚本中的用户修改为你创建的用户即可。
[root@centos7 tmp]# useradd bdsc
4、将文件解压到bdsc家目录
[bdsc@centos7 ~]$ unzip /tmp/multi_tomcats.zip -d /home/bdsc/
[bdsc@centos7 ~]$ cd multi_tomcats/
[bdsc@centos7 multi_tomcats]$ ll
总用量 12
-rwxr–r--. 1 bdsc bdsc 925 3月 26 2020 00.init_jdk_tomcat.sh
-rwxr–r--. 1 bdsc bdsc 3398 5月 8 10:02 01.create_tomcat_instance.sh
drwxrwxr-x. 7 bdsc bdsc 174 5月 8 14:02 bin
5、执行jdk和tomcat初始化脚本
此步骤主要是将jdk和tomcat版本解压并创建软连接
[bdsc@centos7 multi_tomcats]$ sh 00.init_jdk_tomcat.sh
“/home/bdsc/multi_tomcats/bin/update_temp/setenv.sh” -> “/home/bdsc/multi_tomcats/bin/tomcat8/bin/setenv.sh”
“/home/bdsc/multi_tomcats/bin/update_temp/setenv.sh” -> “/home/bdsc/multi_tomcats/bin/tomcat9/bin/setenv.sh”
[bdsc@centos7 multi_tomcats]$ ll bin/
总用量 0
drwxrwxr-x. 9 bdsc bdsc 220 5月 8 14:02 apache-tomcat-8.5.51
drwxrwxr-x. 9 bdsc bdsc 220 5月 8 14:02 apache-tomcat-9.0.31
drwxr-xr-x. 8 bdsc bdsc 233 4月 11 2015 jdk1.7.0_80
drwxr-xr-x. 7 bdsc bdsc 245 4月 2 2019 jdk1.8.0_211
lrwxrwxrwx. 1 bdsc bdsc 40 5月 8 14:02 jdk7 -> /home/bdsc/multi_tomcats/bin/jdk1.7.0_80
lrwxrwxrwx. 1 bdsc bdsc 41 5月 8 14:02 jdk8 -> /home/bdsc/multi_tomcats/bin/jdk1.8.0_211
lrwxrwxrwx. 1 bdsc bdsc 49 5月 8 14:02 tomcat8 -> /home/bdsc/multi_tomcats/bin/apache-tomcat-8.5.51
lrwxrwxrwx. 1 bdsc bdsc 49 5月 8 14:02 tomcat9 -> /home/bdsc/multi_tomcats/bin/apache-tomcat-9.0.31
drwxr-xr-x. 3 bdsc bdsc 220 3月 26 2020 update_temp
6、创建一个tomcat实例
执行01.create_tomcat_instance.sh脚本创建一个tomcat实例项目目录,需要输入7个参数,分别是服务监听端口、服务关闭端口、实例的jdk版本、实例的tomcat版本、服务域名、服务工程项目名称、用途。
[bdsc@centos7 multi_tomcats]$ ./01.create_tomcat_instance.sh 8085 6085 jdk8 tomcat8 test.a.com qiuhun qiuhun
建立tomcat:/home/bdsc/multi_tomcats/8085_6085_jdk8_tomcat8_test.a.com_qiuhun
默认配置1:关闭SSL、关闭tomcat:8443跳转
默认配置2:关闭AJP、关闭tomcat:8009端口
默认配置3:生成PID、tomcat.pid
默认配置4:如有特殊设置请单独配置conf下配置文件
mkdir: 已创建目录 “/home/bdsc/multi_tomcats/8085_6085_jdk8_tomcat8_test.a.com_qiuhun/webapps”
7、上传项目部署软件包
[bdsc@centos7 webapps]$ rz -y
…
[bdsc@centos7 webapps]$ tar -zxvf qiuhun.tar.gz
[bdsc@centos7 8085_6085_jdk8_tomcat8_test.a.com_qiuhun]$ ll
总用量 16
-rwx------. 1 bdsc bdsc 356 5月 8 13:50 0.set_env_export.sh
-rwx------. 1 bdsc bdsc 57 5月 8 13:50 1.startup.sh
-rwx------. 1 bdsc bdsc 58 5月 8 13:50 2.shutdown.sh
drwxrwxr-x. 2 bdsc bdsc 6 5月 8 13:50 backup
drwx------. 3 bdsc bdsc 254 5月 8 14:12 conf
drwxrwxr-x. 2 bdsc bdsc 197 5月 8 14:12 logs
drwxrwxr-x. 2 bdsc bdsc 6 5月 8 13:50 temp
-rw-rw-r–. 1 bdsc bdsc 7 5月 8 13:50 usage
drwxrwxr-x. 3 bdsc bdsc 41 5月 8 14:10 webapps
drwxrwxr-x. 3 bdsc bdsc 22 5月 8 14:12 work
8、启动服务
[bdsc@centos7 8085_6085_jdk8_tomcat8_test.a.com_qiuhun]$ ./1.startup.sh
Using CATALINA_BASE: /home/bdsc/multi_tomcats/8085_6085_jdk8_tomcat8_test.a.com_qiuhun
Using CATALINA_HOME: /home/bdsc/multi_tomcats/bin/tomcat8
Using CATALINA_TMPDIR: /home/bdsc/multi_tomcats/8085_6085_jdk8_tomcat8_test.a.com_qiuhun/temp
Using JRE_HOME: /home/bdsc/soft/java/jre
Using CLASSPATH: /home/bdsc/multi_tomcats/bin/tomcat8/bin/bootstrap.jar:/home/bdsc/multi_tomcats/bin/tomcat8/bin/tomcat-juli.jar
Tomcat started.
[bdsc@centos7 8085_6085_jdk8_tomcat8_test.a.com_qiuhun]$ tail -fn 100 logs/catalina.out
…
08-May-2021 14:12:11.677 信息 [main] org.apache.coyote.AbstractProtocol.start 开始协议处理句柄[“http-nio-8085”]
08-May-2021 14:12:11.686 信息 [main] org.apache.catalina.startup.Catalina.start Server startup in 206 ms
9、访问网站
输入链接验证服务http://192.168.0.132:8085/
10、再创建一个实例
[bdsc@centos7 multi_tomcats]$ ./01.create_tomcat_instance.sh 8086 6086 jdk8 tomcat9 test.a.com qiuhun qiuhun
建立tomcat:/home/bdsc/multi_tomcats/8086_6086_jdk8_tomcat9_test.a.com_qiuhun
默认配置1:关闭SSL、关闭tomcat:8443跳转
默认配置2:关闭AJP、关闭tomcat:8009端口
默认配置3:生成PID、tomcat.pid
默认配置4:如有特殊设置请单独配置conf下配置文件
mkdir: 已创建目录 “/home/bdsc/multi_tomcats/8086_6086_jdk8_tomcat9_test.a.com_qiuhun/webapps”
11、上传项目包后启动服务并验证
此博文紧做演示,使用同一个工程包验证测试,在同一台服务器部署了8085和8086两个实例,分别使用tomcat8.5.51和tomcat9.0.31
三、写在最后
脚本很容易看懂,你可以根据自己的需要使用响应的jdk和tomcat版本,当软件版本爆出漏洞时修复的时候你只需要更新tomcat多实例部署环境下的这个环境包及可以完成所有项目的中间件或者java程序升级,是不是很赞呀!