一台云服务器部署多个Tomcat
一台云服务器部署多个Tomcat
环境准备:
以下是我的环境,供参考:
1,阿里云轻量服务器 centOs8.2
2,apache-tomcat-8.5.87.tar.gz
3,jdk 1.8.0_361 安装jdk这步省略,可通过java -version判断服务器中是否有jdk
4,在阿里云安全组开放端口8080、9999、8006、8008,后面会使用到
开始:
1,上传apache-tomcat-8.5.87.tar.gz至服务器的某个目录下,我放在了/opt/software目录下了
2,tar -zxvf apache-tomcat-8.5.87.tar.gz
3,mv apache-tomcat-8.5.87 tomcat1 这一步的作用是改文件名
4,再一次解压apache-tomcat-8.5.87.tar.gz,建议放在其他目录下
5,tar -zxvf apache-tomcat-8.5.87.tar.gz /home/software
6,mv apache-tomcat-8.5.87 tomcat2
上面操作完成后,我们就有了两个tomcat了,但是是无法同时启动的,接下来要做一些配置
1,打开配置文件 vim /etc/profile
2,在配置文件中加入
#######第一个Tomcat####
export CATALINA_BASE=opt/software/tomcat1
export CATALINA_HOME=opt/software/tomcat1
export TOMCAT_HOME=opt/software/tomcat1
#######第二个Tomcat####
export CATALINA_2_BASE=/home/software/tomcat2
export CATALINA_2_HOME=/home/software/tomcat2
export TOMCAT__2_HOME=/home/software/tomcat2
3,修改完刷新 source /etc/profile
4,cd /home/software/tomcat2/bin
5,vim catalina.sh 注释代码 # OS specific support. $var must be set to either true or false. 并在这段代码下加以下内容
export CATALINA_BASE=$CATALINA_2_BASE
export CATALINA_HOME=$CATALINA_2_HOME
目的是为了tomcat2启动的时候能通过该文件的里的$CATALINA_2_BASE 和 $CATALINA_2_HOME找到/etc/profile配置文件里我们刚才配好的路径,以便完成tomcat2的启动过程。
完成以上操作后我们要修改两个tomcat中的一个的端口配置,为了是防止端口冲突
1,cd /home/software/tomcat2/conf
2,vim server.xml
3,修改以下三个端口
第一个:tomcat监听的关闭端口(默认为8005端口):
<Server port="8006" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.startup.VersionLoggerListener" />
第二个:http访问端口(默认为8080端口):
<Connector port="9999" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
第三个:负责接收其他http服务器的请求端口(默认为8009):
<Connector port="8008" protocol="AJP/1.3" redirectPort="8443" />
修改完端口之后,要重启tomcat,并且在防火墙里也要开放以上端口,这一步我们在环境准备阶段就完成了。
4,启动 测试 ip:8080 ip:9999
至此,配置两个tomcat完成
补充:
tomcat能够以 ./startup.sh 或者 catalina.sh run两种方式启动
startup.sh的启动也是调用的catalina.sh启动的,故我们需要关注的是catalina.sh文件
1 首先 tomcat在启动的时候会查找tomcat的安装目录,也就是它的根目录,然后通过CATALINA_BASE和CATALINA_HOME 这两个变量去查找,所以一台服务器上的多台不同tomcat的根目录以及上述两个变量的值是不一样的,因此我们要设置一下上面的两个变量。
2 就是设置每服务器的三个端口,要让每台tomcat的该三个对应的端口都不一样,这样才能保证同时启动多台tomcat成功
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理