如果不加任何修改,在一台服务器上同时运行两个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,8009端口修改成其他数字,比如9080和9005,9009;
5.运行测试。

(如果是安装版的tomca 就不需要配置环境变量)

 

相关资料::1 下载tomcat的压缩包(不是安装的那种,直接解压缩就能用的)
下载地址:http://tomcat.apache.org/download-55.cgi 下载好的文件名是:apache-tomcat-5.5.23.zip
2 解压缩。我解压缩到了C:\
分别是C:\apache-tomcat-5.5.23-1,C:\apache-tomcat-5.5.23-2
3 修改任意一个的配置文件
比如apache-tomcat-5.5.23-1,
C:\apache-tomcat-5.5.23-1\conf\server.xml用记事本什么的打开
修改3个地方
第一:
<Server port="9005" shutdown="SHUTDOWN"> ----原来是8005
第二
<Connector port="9080" maxHttpHeaderSize="8192" ----原来是8080
第三<Connector port="9009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" /> ---原来是8009
然后保存
4 开启第一个tomcat
运行-cmd
设置两个环境变量:JAVA_HOME(指向jdk)和CATALINA_HOME(指向Tomcat目录)
在命令行打:set JAVA_HOME=C:\Program Files\Java\jdk1.5.0_11
         set CATALINA_HOME=C:\apache-tomcat-5.5.23-1
可以运行tomcat了,命令:C:\apache-tomcat-5.5.23-1\bin\startup.bat
(关闭可以用C:\apache-tomcat-5.5.23-1\bin\shutdown.bat)
4 开启第二个tomcat
运行-cmd(打开了另一个命令窗口)
还是要设置两个环境变量:JAVA_HOME(指向jdk)和CATALINA_HOME(指向Tomcat目录)
在命令行打:set JAVA_HOME=C:\Program Files\Java\jdk1.5.0_11
         set CATALINA_HOME=C:\apache-tomcat-5.5.23-2 (注意tomcat目录我指向了另一个)
可以运行tomcat了,命令:C:\apache-tomcat-5.5.23-2\bin\startup.bat 注意也是另一个--5.5.23-2)
(关闭可以用C:\apache-tomcat-5.5.23-2\bin\shutdown.bat)(注意也是另一个--5.5.23-2)
完毕
备注:
可能的错误:
1 命令行提示:The CATALINA_HOME environment variable is not defined correctly
             This environment variable is needed to run this program
翻译:这个CATALINA_HOME环境变量没有正确的定义
   这个程序运行需要这个环境变量
解决:用我上边的set命令设置CATALINA_HOME即可
2 命令行提示: Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
         At least one of these environment variable is needed to run this program
翻译:JAVA_HOME或者JRE_HOME环境变量任意一个都没有定义
   这个程序运行需要(这两个中的)至少一个环境变量
解决:用我上边的set命令设置JAVA_HOME即可
3 命令行提示:The JAVA_HOME environment variable is not defined correctly
         This environment variable is needed to run this program
         NB: JAVA_HOME should point to a JDK not a JRE
翻译:JAVA_HOME环境变量没有正确的定义
   这个程序运行需要这个环境变量
   JAVA_HOME应该指向JDK而不是JRE
解决:用我上边的set命令设置JAVA_HOME,确信指向了JDK的目录
4 关于修改的端口号:只要不是常见端口号就行,别设置常见端口号
下边的是比较常见的,别设置成这些就行基本9000多都没人用
服务名称    端口号/协议[别名]       #注释
ftp-data    20/tcp            #FTP, data
ftp       21/tcp            #FTP. control
telnet     23/tcp 
smtp      25/tcp mail          #Simple Mail Transfer Protocol
time      37/tcp timserver 
time      37/udp timserver 
domain     53/tcp            #Domain Name Server
domain     53/udp            #Domain Name Server
tftp      69/udp            #Trivial File Transfer
gopher     70/tcp 
http      80/tcp www www-http      #World Wide Web
pop3      110/tcp            #Post Office Protocol - Version 3
nntp      119/tcp usenet        #Network News Transfer Protocol
netbios-ns   137/tcp nbname        #NETBIOS Name Service
netbios-ns   137/udp nbname        #NETBIOS Name Service
netbios-dgm   138/udp nbdatagram      #NETBIOS Datagram Service
netbios-ssn   139/tcp nbsession       #NETBIOS Session Service
imap      143/tcp imap4         #Internet Message Access Protocol
snmp      161/udp            #SNMP
snmptrap    162/udp snmp-trap       #SNMP trap
irc       194/tcp            #Internet Relay Chat Protocol 
ipx       213/udp            #IPX over IP
ldap      389/tcp            #Lightweight Directory Access Protocol
https      443/tcp MCom 
https      443/udp MCom 
uucp      540/tcp uucpd 
ldaps      636/tcp sldap         #LDAP over TLS/SSL
doom      666/tcp            #Doom Id Software
doom      666/udp            #Doom Id Software
phone      1167/udp           #Conference calling
ms-sql-s    1433/tcp           #Microsoft-SQL-Server 
ms-sql-s    1433/udp           #Microsoft-SQL-Server 
ms-sql-m    1434/tcp           #Microsoft-SQL-Monitor
ms-sql-m    1434/udp           #Microsoft-SQL-Monitor 
wins      1512/tcp           #Microsoft Windows Internet Name Service
wins      1512/udp           #Microsoft Windows Internet Name Service
l2tp      1701/udp           #Layer Two Tunneling Protocol
pptp      1723/tcp           #Point-to-point tunnelling protocol
radius     1812/udp           #RADIUS authentication protocol
radacct     1813/udp           #RADIUS accounting protocol
nfsd      2049/udp nfs         #NFS server
knetd      2053/tcp           #Kerberos de-multiplexor
man       9535/tcp           #Remote Man Server