一台机器同时运行多个Tomcat服务解决方案
一台机器同时运行多个Tomcat服务解决方案(补充版)收藏作者:fbysss
msn:jameslastchina@hotmail.com
blog:blog.iyunv.com/fbysss
声明:本文由fbysss原创,转载请注明出处
关键字:Tomcat
如果不加任何修改,在一台服务器上同时运行两个Tomcat服务显然会发生端口冲突。假设现在已经按照正常的方式安装配置好了第一个Tomcat,第二个如何设置呢?以下是使用Tomcat5.5解压版本所做的实验。
解决办法:
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端口修改成其他数字,比如8888和9999;
5.运行测试。
补充:如果想只运行一个tomcat,可以通过配置多个Service来完成。
假设f:/sss为根目录,test为web应用目录
把下面的代码添加到server.xml的Server节点之后
<Service name="sss">
<Connector port="8888" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
<Connector port="9999" protocol="AJP/1.3" redirectPort="8444" />
<Engine name="sss" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
<Host name="localhost" appBase="f:/sss" 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:/sss/test/aaa.html,而不是f:/sss/test/test/aaa.html
本文来自CSDN博客,转载请标明出处:http://blog.iyunv.com/fbysss/archive/2007/07/14/1690023.aspx
页:
[1]