业务需求:

根据公司开发、测试业务需要,开发团队各自使用各自的tomcat做开发。并切同一个项目的一期和二期
开发的项目内容不一样,业务方面肯定有不兼容,为了保证一期业务的稳定,有时需要考虑往往会在一
个服务器下启用多个tomcat服务,进行隔离,并且减少开发测试所需的硬件资源,现准备在一台linux
允许多个tomcat已提供开发者服务。

实验环境:

rhel6.6jdk和tomcat安装见配置管理一这里不再重复说明

一,设置环境变量

 在source /home/tomcat/.bash_profile或者/etc/profile中设置环境变量

export PATH
#set java evironment
JAVA_HOME=/usr/local/tomcat_jdk
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH

#第一个Tomcat,7版本
CATALINA_BASE=/usr/local/tomcat7
CATALINA_HOME=/usr/local/tomcat7
export CATALINA_BASE CATALINA_HOME
#第二个Tomcat,8版本
CATALINA_8_BASE=/usr/local/tomcat8
CATALINA_8_HOME=/usr/local/tomcat8
export CATALINA_8_BASE CATALINA_8_HOME
#第三个Tomcat,9版本
CATALINA_9_BASE=/usr/local/tomcat9
CATALINA_9_HOME=/usr/local/tomcat9
export CATALINA_9_BASE CATALINA_9_HOME

#第一个Tomcat路径
TOMCAT_HOME=/usr/local/tomcat8
export TOMCAT_HOME
#第二个Tomcat路径
TOMCAT_2_HOME=/usr/local/tomcat8
export TOMCAT_2_HOME
#第三个Tomcat路径
TOMCAT_9_HOME=/usr/local/tomcat9
export TOMCAT_9_HOME

source  /home/tomcat/.bash_profile

二、修改配置端口:

第一个tomcat解压出来不用修改,把第二个tomcat_2/conf下的server.xml打开

tomcat服务器需配置三个端口才能启动,安装时默认启用了这三个端口,当要运行多个tomcat服务时需要修改这三个端口,不能相同。修改的三个端口都不能被其它程序所占用,运行更多tomcat方法是一样的。

端口一:

修改http访问端口(默认为8080端口),配置文件为tomcat\ conf\service.xml

<Connectorport="8080"protocol="HTTP/1.1"              connectionTimeout="20000"              redirectPort="8443" />    <!-- A"Connector" using the shared thread pool-->   <!--    <Connectorexecutor="tomcatThreadPool"              port="8080"protocol="HTTP/1.1"              connectionTimeout="20000"              redirectPort="8443" />

端口二:

修改Shutdown远程停服务端口(默认为8005端口)    <Serverport="8005" shutdown="SHUTDOWN">

端口三:

 修改AJP端口(默认为8009端口)  <!-- Define an AJP 1.3 Connector on port 8009 -->   <Connector port="8009" protocol="AJP/1.3"redirectPort="8443" />

 

注意要把端口添加到防火墙配置里面

AJP端口,即容器使用,如 APACHE能通过AJP协议访问Tomcat的8009端口,一般用nginx+tomcat或者apache+tomcat整合

AJP端口不修改有可能启动会报错,但程序可以跑起来,所以可以把AJP端口也修改了。

 

三、设置tomcat调用的系统环境变量

主要要点就是tomcat启动的时候会去查找tomat 的根目录,而这是通过查询系统环境变量CATALINA_HOME 以及

CATALINA_BASE 来做到的,于是我们只需要设置这两个变量即可。
现在我们把tomcat拷贝成2份,分别为 tomcat1 和 tomcat2,tomcat1我们使用之前配置好的默认配置

(CATALINA_HOME 以及CATALINA_BASE 均指向 tomca1 目录),但tomcat2我们不能再使用系统上配置的这两个

变量了,那么我们就在 tomcat2的bin目录下面的 catalina.sh 临时修改设置 CATALINA_HOME 和 CATALINA_BASE

为tomcat2的根目录即可,如果再加tomcat以此类推即可。或者添加不同版本的tomcat,这里我做实验使用的tomcat的

 多个版本打开catalina.sh,找到下面红字,在下面增加如下代码

 # OS specific support. $var_must_ be set to either true or false.

# myself : add
export CATALINA_BASE=$CATALINA_8_BASE
export CATALINA_HOME=$CATALINA_8_HOME

#设置虚拟机参数
JAVA_OPTS="-server-Xms512m-Xmx512m -Xss512K -XX:PermSize=128m -XX:MaxPermSize=256m"


四、测试

由于我的虚拟机关了,具体的结果业比较的简单就不说了。查看进程是否正常启动,对应的端口是否都存在,然后测试,其实重点是环境变量设置,tomcat端口的合理规划

http://eht0ip或者localhosts或者127.0.01:访问端口号