阿里云服务器搭建多个Tomcat

前言

      在java web编程过程中,开发和部署少不了使用Tomcat,一般情况下只用一个Tomcat就够,特定情况需要配置多个Tomcat,那么现在和我一起踩一踩这个坑吧!😁【这里配置的是不同版本的三个Tomcat(8、9、10),同版本的也可以一样操作,🤫熟悉之后可以配置再几个哦】

1.环境准备

  • OS:CentOS 8.2 64位
  • JDK:1.8.0_281
  • Tomcat:8.5.70、9.0.52、10.0.10

1.1 下载Tomcat

tomcat 8.5.70
tomcat 9.0.52
tomcat 10.0.10

使用wget下载或浏览器下载后上传到服务器

#8.5.70
wget https://downloads.apache.org/tomcat/tomcat-8/v8.5.70/bin/apache-tomcat-8.5.70.tar.gz
#9.0.52
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.52/bin/apache-tomcat-9.0.52.tar.gz
#10.0.10
wget https://downloads.apache.org/tomcat/tomcat-10/v10.0.10/bin/apache-tomcat-10.0.10.tar.gz

1.2 解压文件

#8.5.70
tar -zxvf apache-tomcat-8.5.70.tar.gz
#9.0.52
tar -zxvf apache-tomcat-9.0.52.tar.gz
#10.0.10
tar -zxvf apache-tomcat-10.0.10.tar.gz

1.3 重命名

#8.5.70
mv apache-tomcat-8.5.70 tomcat9
#9.0.52
mv apache-tomcat-9.0.52 tomcat9
#10.0.10
mv apache-tomcat-10.0.10  tomcat10

1.4 查看server.xml文件

打开任意一个即可,这里打开的是tomcat 8的server.xml文件

	cat tomcat8/conf/server.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
 this work for additional information regarding copyright ownership.
 The ASF licenses this file to You under the Apache License, Version 2.0
 (the "License"); you may not use this file except in compliance with
 the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

 Unless required by applicable law or agreed to in writing, software
 distributed under the License is distributed on an "AS IS" BASIS,
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 See the License for the specific language governing permissions and
 limitations under the License.
-->
<!-- Note:  A "Server" is not itself a "Container", so you may not
    define subcomponents such as "Valves" at this level.
    Documentation at /docs/config/server.html
-->
<Server port="8005" shutdown="SHUTDOWN">
 <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<!--由于篇幅比较长,此处省略若干行-->
     </Host>
   </Engine>
 </Service>
</Server>

2.修改server.xml

不同的tomcat要运行在不同的端口号上,否则会存在端口占用而无法同时运行

2.1 tomcat 8的server.xml文件

打开server.xml文件

	vim tomcat8/conf/server.xml

按提示修改server.xml文件

<!--第22行修改8005为8006-->
<Server port="8006" shutdown="SHUTDOWN">
<!--第22行修改8080为8085-->
<Connector port="8086" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
<!--第116、121行取消注释,并修改端口号为8019-->
<Connector protocol="AJP/1.3"
               address="::1"
               port="8019"
               redirectPort="8443" />             

2.2 tomcat 9的server.xml文件

打开server.xml文件

	vim tomcat9/conf/server.xml

按提示修改server.xml文件

<!--第22行修改8005为8007-->
<Server port="8007" shutdown="SHUTDOWN">
<!--第22行修改8080为8086-->
<Connector port="8087" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
<!--第116、121行取消注释,并修改端口号为8029-->
<Connector protocol="AJP/1.3"
               address="::1"
               port="8029"
               redirectPort="8443" />

2.3 tomcat 10的server.xml文件

打开server.xml文件

	vim tomcat10/conf/server.xml

按提示修改server.xml文件

<!--第22行修改8005为8008-->
<Server port="8008" shutdown="SHUTDOWN">
<!--第22行修改8080为8086-->
<Connector port="8088" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
<!--第116、121行取消注释,并修改端口号为8029-->
<Connector protocol="AJP/1.3"
               address="::1"
               port="8039"
               redirectPort="8443" />

3. 配置环境变量

编辑 /etc/profile 文件

	vim /etc/profile

在文件末尾增加如下代码

###tomcat 8
CATALINA_8_BASE=/root/java/tomcat8
CATALINA_8_HOME=/root/java/tomcat8
TOMCAT_8_HOME=/root/java/tomcat8
export CATALINA_8_BASE CATALINA_8_HOME TOMCAT_8_HOME

###tomcat 9
CATALINA_9_BASE=/root/java/tomcat9
CATALINA_9_HOME=/root/java/tomcat9
TOMCAT_9_HOME=/root/java/tomcat9
export CATALINA_9_BASE CATALINA_9_HOME TOMCAT_9_HOME

###tomcat 10
CATALINA_10_BASE=/root/java/tomcat10
CATALINA_10_HOME=/root/java/tomcat10
TOMCAT_10_HOME=/root/java/tomcat10
export CATALINA_10_BASE CATALINA_10_HOME TOMCAT_10_HOME

使 /etc/profile 文件立即生效

	source /etc/profile

4.编辑Tomcat的启动文件

4.1 第一个tomcat

编辑 tomcat 8的 startup.sh文件

	vim tomcat8/bin/startup.sh

在文件末尾增加如下代码

```xml
	export  CATALINA_BASE =$CATALINA_8_BASE
	export  CATALINA_HOME =$CATALINA_8_HOME

4.2 第二个tomcat

编辑 tomcat 9的 startup.sh文件

	vim tomcat9/bin/startup.sh

在文件末尾增加如下代码

	export  CATALINA_BASE =$CATALINA_9_BASE
	export  CATALINA_HOME =$CATALINA_9_HOME

4.3 第三个tomcat

编辑 tomcat 10的 startup.sh文件

	vim tomcat10/bin/startup.sh

在文件末尾增加如下代码

	export  CATALINA_BASE =$CATALINA_10_BASE
	export  CATALINA_HOME =$CATALINA_10_HOME

5. 启动服务

5.1 先关闭一下tomcat,防止已经启动

关闭tomcat

5.2 分别启动三个Tomcat

启动3个tomcat

6. 浏览器访问

注意:由于是在阿里云服务器上配置,外部访问需要放行刚刚配置的端口号,并且需要确认防火墙是否已经关闭

先尝试访问
尝试访问tomcat服务
查看防火墙状态

	systemctl status firewalld

这种情况是处于打开状态

查看防火墙状态

查看防火墙放行的端口

	firewall-cmd --zone=public --list-ports

如果没有我们刚刚配置的三个端口,用下列命令打开

	 #打开8086	
	 firewall-cmd --zone=public --add-port=8086/tcp --permanent
	 #打开8087
	 firewall-cmd --zone=public --add-port=8087/tcp --permanent
	 #打开8088
	 firewall-cmd --zone=public --add-port=8088/tcp --permanent
	 #重新加载
	 firewall-cmd --reload
	 #查看一下是不是都放开了
	 firewall-cmd --zone=public --list-ports

再次尝试访问,如果还是不能访问,不出意外就是服务器安全组没有放行端口,解决办法就是去阿里云控制台查看一下

阿里云安全规则

如果没有,就需要配置,参照以下步骤设置

查看安全规则配置
配置安全规则

第一个tomcat

tomcat 8 运行结果

第二个tomcat
tomcat 9 运行结果

第三个tomcat
tomcat 10运行结果

7. 补充

如果不想每次都进安装目录去启动,可以将每个tomcat的startup.sh 和shutdown.sh重新命名一下,我的话是这样命名:第一个tomcat(startup8.sh 和shutdown8.sh)、第二个tomcat(startup9.sh 和shutdown9.sh)、第三个tomcat(startup10.sh 和shutdown10.sh),下次使用时在任何目录直接输入这些命令即可!

结束语

到这里配置就结束啦!完结撒花🎉
感谢您的阅读!本文仅作参考,操作过程中如果出现其他情况,建议查查其他资料哦😯

posted @ 2021-08-18 22:27  Evan-LiuXing  阅读(10)  评论(0编辑  收藏  举报