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