开发管理项目时多多少少会遇到服务器不够用、一个项目分成多个子项目的情况,故研究了一下如何在一台服务器部署多个 Tomcat。
具体操作:
1、在 /tomcat/ 下部署多个 tomcat。
2、修改 /etc/profile 文件末尾,加入如下内容:
##########first tomcat###########
CATALINA_BASE=/tomcat/apache-tomcat-9.0.
CATALINA_HOME=/tomcat/apache-tomcat-9.0.
TOMCAT_HOME=/tomcat/apache-tomcat-9.0.
export CATALINA_BASE CATALINA_HOME TOMCAT_HOME
##########first tomcat########### ##########second tomcat##########
CATALINA2_BASE=/tomcat/apache-tomcat-9.0.1_2
CATALINA2_HOME=/tomcat/apache-tomcat-9.0.1_2
TOMCAT2_HOME=/tomcat/apache-tomcat-9.0.1_2
export CATALINA2_BASE CATALINA2_HOME TOMCAT2_HOME
##########second tomcat########## ##########third tomcat##########
CATALINA3_BASE=/tomcat/apache-tomcat-9.0.1_3
CATALINA3_HOME=/tomcat/apache-tomcat-9.0.1_3
TOMCAT3_HOME=/tomcat/apache-tomcat-9.0.1_3
export CATALINA3_BASE CATALINA3_HOME TOMCAT3_HOME
##########third tomcat##########
输入命令:source /etc/profile 使其生效。
3、进入第二、第三个 Tomcat 的 bin 目录修改 catalina.sh 文件。
第一个 Tomcat 无需更改,
第二个 Tomcat 将 catalina.sh 中的 CATALINA_BASE 和 CATALINA_HOME 批量替换成在 /etc/profile 中配置的第二个 tomcat 对应的信息,
即将 profile 中的 CATALINA_BASE 替换成 CATALINA2_BASE,CATALINA_HOME 替换成 CATALINA2_HOME;
vim catalina.sh
批量替换:
%s/CATALINA_BASE/CATALINA_2_BASE/g %s/CATALINA_HOME/CATALINA_2_HOME/g
第三个 Tomcat 把 CATALINA_BASE 替换成 CATALINA3_BASE,CATALINA_HOME 替换成 CATALINA3_HOME;
4、进入第二、第三个 tomcat 在 conf 下的 server.xml 中修改其的端口号:
第二个 Tomcat 修改为:
修改关闭端口:<Server port="8006" shutdown="SHUTDOWN" >
修改访问端口:<Connector port="" URIEncoding="UTF-8" redirectPort="" connectionTimeout="" protocal="HTTP/1.1">
修改监听端口:<Connector port="" protocol="AJP/1.3" redirectPort="">
第三个 Tomcat 修改为:
修改关闭端口:<Server port="8007" shutdown="SHUTDOWN" >
修改访问端口:<Connector port="8090" URIEncoding="UTF-8" redirectPort="8443" connectionTimeout="20000" protocal="HTTP/1.1">
修改监听端口:<Connector port="8011" protocol="AJP/1.3" redirectPort="8443">
5、最后,依次启动这多个 tomcat,输入命令:ps -ef |grep tomcat 查看进程。
成功,如下: