多tomcat並行,使用者名稱、密碼及虛擬路徑設定
多tomcat設定步驟:
1. 對於每個tomcat 6.0目錄,開啟apache-tomcat-6.0.32\bin下面的catalina.bat和startup.bat在rem Guess CATALINA_HOME if not defined之後加上set CATALINA_HOME="D:\下載\apache-tomcat-6.0.32",我解壓縮的目錄為D:\下載\。替換為相應的你的解壓縮目錄。
2. 對於第二個tomcat 6.0 開啟apache-tomcat-6.0.32\conf下面的servicer.xml檔案,查詢port,修改port值,我預設的是每個埠值加1.<server port="8006" shutdown="SHUTDOWN"><connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8444" />
<connector port="8010" protocol="AJP/1.3" redirectPort="8444" />
3. 分別開啟2個startup.bat執行http://localhost:8081和http://localhsot:8080即可。
使用者與密碼的設定:
1. 檢視apache-tomcat-6.0.32\conf下的tomcat-user.xml檔案,如果檔案不存在,新建一個xml檔案。
2. 檔案內容如下:
其中之後roles="manager"的使用者才有管理許可權。當然如果我們不需要這麼多的使用者,可以只配置一個manager許可權,再配置其對應的使用者,同一許可權的使用者可以有多個。例如我們還可以新增<?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="tomcat"/> <role rolename="role1"/> <role rolename="manager"/> <role rolename="admin"/> <user username="tomcat" password="tomcat" roles="tomcat"/> <user username="both" password="tomcat" roles="tomcat,role1"/> <user username="role1" password="tomcat" roles="role1"/> <user username="admin" password="admin" roles="manager"/> </tomcat-users>
<user username="carefree" password="111111" roles="manager"/>
3. 儲存好tomcat-user.xml,重啟動tomcat, 輸入:http://127.0.0.1:8081/ 看到熟悉的tomcat介面;點選“Tomcat Manager”,輸入使用者名稱:admin, 密碼admin,就可以看到管理介面了。
tomcat虛擬路徑設定:
<Context path="/test" docBase="D:/myweb" crossContext="false" debug="0" reloadable="true"></Context>
其實path="/test"在這裡不寫也可以,此時的path實際上是由xml檔案的名字決定的,所以可以簡寫為: <Context docBase="D:/myweb" reloadable="true" debug="0"/>
這樣就設定好了/test的虛擬路徑。
2. 開啟%TOMCAT_HOME%\conf\server.xml檔案,在 <host> </host>之間加入如下程式碼:
<Context path="/web" docBase="E:\myweb" debug="0" reloadable="true"/>
注意,此時path一定要寫(值可以為空),因為我們此時沒有新建xml檔案了,所以一定要指明。
常見問題:
1. startup.bat一閃即逝,沒有設定CATALINA_HOME,按照第一步操作。
2. 2個tomcat對應同一個tomcat,連線埠沒有修改,修改Connector port="8081" protocol="HTTP/1.1"
3. java虛擬機器繫結失敗,可能沒有安裝jdk,如果以前java程式可以正常執行,檢視Connector port="8010" protocol="AJP/1.3" redirectPort="8444",確保port值沒有重複,redirectPort值和其他幾處的redirectPort值相同。