因项目需要,要做一个门户网站和满足另外一个后台请求的WebService。为了是门户网站和WebService不互相干扰,即门户的瘫痪不会影响WebService或者WebService的瘫痪不会影响门户,所以需要在Linux上部署两个Tomcat。由于原来用的是免安装版的Tomcat,我在启动第一个Tomcat后,第二个Tomcat就是启动不起来,一般的原因是端口冲突,只需要改动一下第二个Tomcat的端口即可。但是修改第二个Tomcat端口后还是报端口已被使用,但是用命令“netstat -nap |grep 8086”查询第二个端口(8086)没有被使用。最终找到的原因是第二个Tomcat要改动好几个端口。
所以步骤如下:
(1)修改/etc/profile文件。添加一组java环境变量,和两组CATALINA环境变量(我没有进行此步骤的设置,可能因为我的Tomcat是免安装版的吧)记得修改完要使其生效,用命令:source /etc/profile
#java路径
JAVA_HOME=/usr/java/jdk
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$JAVA_HOME/bin
export JAVA_HOME CLASSPATH
#第一个Tomcat
CATALINA_BASE=/usr/local/tomcat
CATALINA_HOME=/usr/local/tomcat
export CATALINA_BASE CATALINA_HOME
#第二个Tomcat
CATALINA_2_BASE=/usr/local/tomcat2/apache-tomcat-5.5.17
CATALINA_2_HOME=/usr/local/tomcat2/apache-tomcat-5.5.17
export CATALINA_2_BASE CATALINA_2_HOME
#第一个Tomcat路径
TOMCAT_HOME=/usr/local/tomcat
export TOMCAT_HOME
#第二个Tomcat路径
TOMCAT_2_HOME=/usr/local/tomcat2/apache-tomcat-5.5.17
export TOMCAT_2_HOME
(2)修改第二个Tomcat的两个地方:
2.1 修改server.xml配置和第一个不同的启动、关闭监听端口。修改后示例如下
<Server port="9005" shutdown="SHUTDOWN"> 端口:8005->9005
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector port="9080" maxHttpHeaderSize="8192" 端口:8080->9080
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="9009" 端口:8009->9009
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
2.2 修改bin下的startup.sh和shutdown.sh(我也没有进行这个步骤,可能是由于我的Tomcat是免安装版的)
export JAVA_HOME=/usr/jdk
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/lib
export CATALINA_HOME=$CATALINA_2_HOME 利用profile中第二组设置
export CATALINA_BASE=$CATALINA_2_BASE 利用profile中第二组设置
至此,可以将两个Tomcat同时启动使用了!!!!