若是不加任何修改,在一臺服務器上同時運行兩個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.運行測試。 ios
(若是是安裝版的tomca 就不須要配置環境變量) sql
相關資料::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