tomcat 配置虛擬主機實例

一、先來解釋一下虛擬主機的概念:在一個tomcat上放多個工程,通過不同的URL訪問不同的工程。這是我的理解,可能不精確。

二、配置如下:

1、我的環境:tomcat7.x+jdk7.x.;

2、先把%TOMCAT_HOME%下的webapps,複製兩份,分別命名爲:webapps_1 和 webapps_2。兩個目錄下的內容和webapps相同。

3、修改%TOMCAT_HOME%/conf目錄下的server.xml文件;

4、端口修改:

<!-- 這裏默認端口是:8080,修改成 80 -->
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

 5、修改默認執行引擎:

<!-- 修改默認執行引擎,用於通過IP地址來訪問主機時,默認執行的工程 -->
<Engine name="Catalina" defaultHost="www.bohaisoft.com">

 6、HostName 配置:

<!-- name的值可以理解爲域名,appBase 的值:在步驟2創建的webapps_1 --> 	
<Host name="www.bohaisoft.com"  appBase="webapps_1" unpackWARs="true" autoDeploy="true">
<!-- 定義訪問的別名,及可以瀏覽器在裏面輸入 bohaisoft.com 來訪問這個工程 -->
 <alias>bohaisoft.com</alias>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
	   prefix="localhost_access_log." suffix=".txt"
	   pattern="%h %l %u %t &quot;%r&quot; %s %b" />  
<!-- 配置默認ROOT的路徑,今天我沒有配置成功, 這個配置可以沒有 -->	   
<Context docBase="./spring-domo-mvc.war" path="/" reloadable="true"/>
</Host>

<!-- appBase的值是:webapps_2 --> 
<Host name="www.bobohai.com"  appBase="webapps_2" unpackWARs="true" autoDeploy="true">
<alias>bobohai.com</alias>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
	   prefix="localhost_access_log." suffix=".txt"
	   pattern="%h %l %u %t &quot;%r&quot; %s %b" />   
</Host>	  

 7、遇到的問題:不能指定默認的ROOT,及必須將工程解壓放到ROOT下面,才能通過RUL進行訪問。因此必須將war解壓文件放到webapp_1下面的ROOT中(先刪除掉ROOT下面的文件);另:server.xml 的註釋不能使用中文,否則啓動報錯;

8、配置 host

127.0.0.1		www.bobohai.com
127.0.0.1		www.bohaisoft.com

9、啓動tomcat時,就可以通過域名來訪問不同的工程了。

10、由問題想到的一些事情:

(1)前段時間完過百度雲,在佈署工程時,也要求把war重命名:ROOT.war;能猜測百度的人能不能配置默認ROOT???

(2)Eclipse中設置server‘s host name 爲域名時,提示有錯誤:如下圖:

 

 總結:tomcat6 使用域名時,可以指定默認的ROOT,tomcat7不可以指定。原因不知。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章