如果不加任何修改,在一台服务器上同时运行两个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