一台pc机上同时启动多个Tomcat
环境:两个Tomcat7.0.20,使用一个JVM,JDK7,Win7 64位系统。系统环境变量里的CATALINA_HOME已经删除,根据catalina.bat里的代码来看,应该走的是自己设置的临时环境变量。
两个startup.bat最前面加上一句set CATALINA_HOME=当前TOMCAT路径就可以了当第一个tomcat启动后,后面tomcat的server.xml中的端口不管怎么改,仍然会报端口冲突。后来在dos下运行才发现所有的tomcat都会去找CATALINA_HOME和CATALINA_BASE这两个环境变量,因此步骤如下:
1.使用压缩版的tomcat不能使用安装版的,官网上tomcat7.0一下的都需要安装,这里提供我从官网下的Tomcat 7.0.4 win7 64位系统的下载地址:http://pan.baidu.com/s/1qW1CP7u。
2.第一个tomcat的配置不变,复制一个tomcat到其他目录下(目录不能有中文)
3.增加环境变量CATALINA_HOME2,值为新的tomcat的地址;增加环境变量CATALINA_BASE2,值为新的tomcat的地址。
tomcat的地址:如:C:\server_cesi\apache-tomcat-7.0.40
环境变量名可以自己命名,但后面的配置文件中要用到
4.修改新的tomcat中bin文件夹下的startup.bat,把其中全部的CATALINA_HOME改为你在第3步中设置的环境变量CATALINA_HOME2。
5.修改新的tomcat中bin文件夹下的catalina.bat,把其中全部的CATALINA_HOME改为CATALINA_HOME2,CATALINA_BASE改为你在第3步中设置的环境变量CATALINA_BASE2。
6.修改新的tomcat中conf文件夹下的server.xml文件解决端口冲突问题:
6.1 <Server port="8005"shutdown="SHUTDOWN">把端口改为没有是使用的端口。
6.2<Connector port="8080"maxHttpHeaderSize="8192" maxThreads="150"minSpareThreads="25" maxSpareThreads="75"enableLookups="false" redirectPort="8443"acceptCount="100" connectionTimeout="20000"disableUploadTimeout="true" /> 把端口改为没有是使用的端口。
6.3<Connector port="8009"enableLookups="false" redirectPort="8443"protocol="AJP/1.3" /> 把端口改为没有是使用的端口。
7成功,分别双击Tomcat目录下的bin文件夹下的startup.bat启动Tomcat
8 第三、第四.....等N台服务器参考3~6 步顺序进行即可!祝好运!