如何在Linux下安装启动多个Tomcat
引用
如何在Linux下安装启动多个Tomcat
1. 环境:
1.1. Red Hat Linux 9
1.2. Tomcat 5.5.17
2. 需要解决一下几个问题
2.1. 不同的tomcat启动和关闭监听不同的端口
2.2. 不同的tomcat的启动文件startup.sh 中要指定各自的CATALINA_HOME和CATALINA_BASE这两个环境变量。
3. 解决步骤:
3.1. 修改/etc目录下的profile文件,添加一组java环境变量,和两组CATALINA环境变量;修改后的profile文件示例如下:
JAVA_HOME=/usr/local/java
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$JAVA_HOME/bin
export JAVA_HOME CLASSPATH
CATALINA_BASE=/usr/local/tomcat1
CATALINA_HOME=/usr/local/tomcat1
export CATALINA_BASE CATALINA_HOME
CATALINA_2_BASE=/usr/local/tomcat2
CATALINA_2_HOME=/usr/local/tomcat2
export CATALINA_2_BASE CATALINA_2_HOME
TOMCAT_HOME=/usr/local/tomcat
export TOMCAT_HOME
TOMCAT_2_HOME=/usr/local/tomcat2
export TOMCAT_2_HOME
3.2. 第一个安装在/usr/local/tomcat处的tomcat,保持解压后的原状不用修改。修改第二个安装在/usr/local/tomcat2 /apache-tomcat-5.5.17处的tomcat。需要修改两个地方:
3.2.1. 修改server.xml配置和第一个不同的启动、关闭监听端口。修改后示例如下:<!--[endif]-->
端口:8005->9005
<Server port="9005" shutdown="SHUTDOWN">
端口:8080->9080
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector port="9080" maxHttpHeaderSize="8192"
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" />
3.2.2. 修改bin下的startup.sh和shutdown.sh。修改后的示例如下:(同样的修改)
export JAVA_HOME=/usr/local/java
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中第二组设置
4. 修改完毕后,可能需要重新启动Linux。可能是因为修改了profile文件的缘故,有些系统不需要,使用“source profile”命令就可以。
5. 分别进入两个tomcat的bin目录,启动tomcat,使用“./startup.sh”命令。
6. 然后访问http://localhost:8080 和 http://localhost:9080 都可以看到熟悉的tomcat欢迎界面。
7. 如果想启动多个可以依此法类推……
注意:
<1>在修改startup.sh或是shutdown.sh文件时,请注意把一些参数加在exec命令执行之前,不然配置无法起效。
<2>因为是在linux下面,安全性较高,修改tomcat端口后,如果出现tomcat正常启动,但是无法通过端口访问的情况,请检查 linux端口是否已经打开,在/etc/sysconfig/iptables里面查看端口情况,如果没有打开,请参照下面语句打开
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
<3>重启iptables
&