出于某种需要,需要同时启动多个Tomcat服务器。如果不加任何修改,在一台服务器上同时运行两个Tomcat服务显然会发生端口冲突。假设现在已经按照正常的方式安装配置好了第一个Tomcat,第二个如何设置呢?现将解决方案写出来分享一下,希望能对有这方面需要的朋友有点启发。
以下apache-tomcat-5.5.15 和 jakarta-tomcat-5.0.28 为例说明:
(注意:所用Tomcat服务器都为解压版(即绿化版),非安装版;安装版不能同时启动多个。)
1、先将jakarta-tomcat-5.0.28.zip 和 apache-tomcat-5.5.15.zip分别解压到某个盘。
2、特别要注意:不要设置CATALINA_HOME
3、分别修改安装目录下的conf子目录中的server.xml文件(注意:两个文件中对应的端口号要不一样) :
a、修改http访问端口(默认为8080端口),将8080修改为tomcat不在使用的端口号。此处所设的端口号即是以后访问web时所用的端口号。
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="8080"
minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="100" debug="0" connectionTimeout="20000"
useURIValidationHack="false" disableUploadTimeout="true" />
b、修改Shutdown端口(默认为8005端口),将8005修改为没有在使用的端口号,例如8055。
<Server port="8005" shutdown="SHUTDOWN" debug="0">
c、修改8009端口,将8009修改为没有在使用的端口号,例如8099。
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8009" minProcessors="5" maxProcessors ="75"
enableLookups="true" redirectPort="8443"
acceptCount="10" debug="0" connectionTimeout ="20000"
useURIValidationHack="false"
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler" />
4、依次启动两个tomcat。
以下是使用Tomcat6.0.16解压版本所做的实验:
1、解压Tomcat到一个新的目录,比如d:\TomcatServer2。
2、新建一个环境变量CATALINA_HOME2,路径为d:\TomcatServer2。
3、编辑Tomcat/bin/startup.bat和catalina.bat,把CATALINA_HOME全部替换成CATALINA_HOME2。
4、编辑Tomcat/conf/server.xml,将8080和8005端口号8开头都改为9开头(其他端口只要不冲突即可),并修改默认编码为utf-8(以支持中文链接)
示例:
<Connector port="9080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="9443" URIEncoding='UTF-8' />
============================================================
<Connector port="9009" protocol="AJP/1.3" protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler" redirectPort="9443" URIEncoding='UTF-8'/>
5.运行测试。
补充:如果想只运行一个tomcat,可以通过配置多个Service来完成。
假设F:\Root为根目录,test为web应用目录
把下面的代码添加到server.xml的Server节点之后
<Service name="Root">
<Connector port="8888" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<Connector port="9999" protocol="AJP/1.3" redirectPort="8444" />
<Engine name="Root" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
<Host name="localhost" appBase="F:\Root" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="test" path=""/>
</Host>
</Engine>
但是有一个小小的问题是(据说是5.5的bug):子目录不能有与应用名相同的情况。也就是说,test下面不能再有一个test目录。否则http://localhost:8888/test/aaa.html将访问的是F:\Root\test\aaa.html,而不是F:\Root\test\test\aaa.html
from 谱天成
如何同时启动多个Tomcat服务器
今天在论坛上看到一个朋友对同时启动两个tomcat服务器的问题,我上网查找后,觉的下面应该是好的解决方法,希望有改进之处,朋友们多评论!
我所用Tomcat服务器都为zip版,非安装版。以两个为例:
安装第二个Tomcat完成后,到安装目录下的conf子目录中打开server.xml文件,查找以下三处:
(1) 修改http访问端口(默认为8080端口)
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="8080"
minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="100" debug="0" connectionTimeout="20000"
useURIValidationHack="false" disableUploadTimeout="true" />
(大概在86行左右)将8080修改为第一个tomcat不在使用的端口号。此处所设的端口号即是以后访问web时所用的端口号。
(2) 修改Shutdown端口(默认为8005端口)
<Server port="8005" shutdown="SHUTDOWN" debug="0">
(大概在13行左右)将8005修改为没有在使用的端口号,例如8095
(3) 修改JVM启动端口(默认为8009端口)
< Connector className ="org.apache.coyote.tomcat4.CoyoteConnector"
port ="8009" minProcessors ="5" maxProcessors ="75"
enableLookups ="true" redirectPort ="8443"
acceptCount ="10" debug ="0" connectionTimeout ="20000"
useURIValidationHack ="false"
protocolHandlerClassName ="org.apache.jk.server.JkCoyoteHandler" />
(大概在107行左右)将8009修改为没有在使用的端口号,例如8099
这样就没问题了。
from csdn
安装版 不行
以下为个人实际操作的一部分:
一台电脑上是不能安装2个安装版的tomcat的,但是可以安装多个解压版的。
具体步骤:
1. 解压已经下载的程序包“apache-tomcat-6.0.16.zip” & "apache-tomcat-5.5.28.zip";
2. 将文件夹“apache-tomcat-6.0.16”拷贝到,想要放置的目录下(本例:“D:\Program\Apache”);
3. 安装tomcat服务;
a) 【运行】->cmd,进入dos界面;
b) 从dos中,进入到“bin”目录(本例:“D:\Program\Apache\apache-tomcat-6.0.16\bin”),执行命令:service.bat install Apache(注意:Apache为服务的名称,可以任意命名),当提示“The service ‘apache’ has been installed.”,表示安装成功;
c) 卸载服务请使用命令:sc delete “Apache”(Apache为服务的名称);
4. 修改tomcat端口号;
a) 去tomcat安装目录(或者解压目录)下的“conf”文件夹中找到文件“server.xml”(本例:“D:\Program Files\Apache Software Foundation\apache-tomcat-6.0.29\conf”);
b) 找到<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />, 将port="8080"改为其它;
c) 找到<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />,将8009改为其它;
d) 找到<Server port="8005" shutdown="SHUTDOWN">,将8005改为其它;
5. 【运行】->services.msc,启动服务管理窗口,找到“Apache Tomcat Apache”这个服务,把它的“启动类型”设置成“自动”,这样就可以开机运行并开启服务。
6. 修改tomcat管理用户密码;
a) 去tomcat安装目录(或者解压目录)下的“conf”文件夹中找到文件“tomcat-users.xml”(本例:“D:\Program Files\Apache Software Foundation\apache-tomcat-6.0.29\conf”);
b) 在节点<tomcat-users>中添加,如下内容:
?
<role rolename="manager"/> <user username="admin" password="admin" roles="manager"/> |
c) 重启tomcat,再进入管理页面的时候,使用用户“admin”和密码“admin”,就可以登陆了;
补充:如果在cmd里执行service.bat install ** 命令的时候报错,就去设置一下环境变量CATALINA_HOME=D:\tomcat-6.0.29,就好了。
id: 617559888
title: 同时启动多个Tomcat
publishTime: 1268721426615
classId: 88735822
moveForm: NONE
没有评论 :
发表评论