项目软件使用了tomcat,在安装时自动注册为服务。有一客户在安装时发现与另外一个软件的tomcat发生了冲突,两个软件都要使用,于是在网上查了一下资料,解决这个问题。设置方法很简单,修改server.xml配置文件中的3个端口即可。下面将简单总结一下如何在同一台服务器上部署多个tomcat服务。
1、下载tomcat zip版软件,分别解压到两个目录,如tomcat1和tomcat2;
2、tomcat1的server.xml文件的端口设置保持默认不变;
3、按照如下方法修改tomcat2的server.xml文件;
修改8080端口。将<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" />中的8080修改为与tomcat1中不同的端口(确保设置的端口未被使用),如9090;
修改8005端口。将<Server port="8005" shutdown="SHUTDOWN" debug="0">中俄8005端口修改为与tomcat1中不同的端口(确保设置的端口未被使用),如9005;
修改8009端口。将<Connector port="8009" enableLookups="false" redirectPort="8443" debug="0" protocol="AJP/1.3" />中的8009端口修改为与tomcat1中不同的端口(确保设置的端口未被使用),如9009;
保存server.xml文件并关闭。
4、修改tomcat1中的服务名称以备安装;修改tomcat1中bin目录下的service.bat文件;
set SERVICE_NAME=Tomcat5H
set PR_DISPLAYNAME=Apache Tomcat1
5、修改tomcat1中的服务名称以备安装;修改tomcat2中bin目录下的service.bat文件;
set SERVICE_NAME=Tomcat5S
set PR_DISPLAYNAME=Apache Tomcat2
6、安装tomcat服务;打开命令行,切换到tomcat1的bin目录下,然后执行:service.bat install,系统会提示"The service ‘Tomcat5H‘ has been installed."
然后将当前目录切换到tomcat1的bin目录下,同样执行:service.bat install,系统会提示"The service ‘Tomcat5S‘ has been installed."
7、打开服务窗口,看到服务列表里显示有Apache Tomcat1和Apache Tomcat2两个服务
8、启动Apache Tomcat1和Apache Tomcat2,均可启动成功!
9、打开IE,输入http://localhost:8080和http://localhost:9090,均可可以看到tomcat首页。
至此两个tomcat服务在同一台服务器上完美运行。
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <!-- SingleSignOn valve, share authentication between web applications Documentation at: /docs/config/valve.html --> <!-- <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> --> <!-- Access log processes all example. Documentation at: /docs/config/valve.html --> <!-- <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/> --> <Context docBase="D:\apache-tomcat-6.0.43_8090\webapps\it3" path="" debug="0" reloadable="true"/> </Host>