Tomcat虛擬主機配置

1、需求

在項目經驗中,主機的TCP協議(HTTP協議是基於TCP/IP協議)的80端口是稀缺資源,不少狀況下不可能爲一個應用而去申請一臺主機(無論是物理主機仍是虛擬服務器).這時候不少的Java Web應用會放到一個擁有TCP的80端口的Tomcat下面,因爲每一個應用都要有本身的域名地址(這裏域名後面確定不能有端口),因此須要咱們配置該Tomcat來支持一個IP對應多個域名,甚至一個應用對應多個域名.html

2、具體解決方案和步驟:

咱們已經有一個安裝好的Tomcat6.0,而且在tomcat目錄下自行創建了一個webapps2目錄,在webapps和webapps2目錄下分別都放置了一個測試項目"6"和"7".web

一、修改tomcat 6.0的默認訪問端口(在conf目錄的server.xml中),將8080改成80.
二、修改tomcat 6.0的虛擬主機配置(在conf目錄的server.xml中).apache

<Engine name="Catalina" defaultHost="www.6.com">  
  <Host name="www.6.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">  
        <Context path="" reloadable="true" docBase="6" workDir="" />//若是不配置context則默認訪問ROOT 
  </Host>  
  <Host name="www.7.com" appBase="webapps2" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">  
        <Context path="" reloadable="true" docBase="7" workDir="" />  
  </Host>

1.Engine的dafaultHost:表示訪問該tomcat默認進入的主機,注意必定不能是localhost,否則別人經過你的ip訪問,就會默認進入tomcat的管理界面.
2.Host的name:表示該主機綁定的域名,若是綁定localhost則能夠經過在瀏覽器中輸入localhost訪問該Host.
3.Host的appBase:表示該主機綁定的文件存放路徑,可使用相對路徑或絕對路徑.
4.<context>中path至關於虛擬目錄名字,而docbase則是具體的文件位置.瀏覽器

三、最後在hosts文件中進行虛擬的DNS映射:tomcat

127.0.0.1 www.6.com  
127.0.0.1 www.7.com  
127.0.0.1 7.com

這時就能夠經過curl http://www.6.com/訪問webapps2目錄下的目錄名稱爲"6"的工程,經過curl http://www.7.com/訪問webapps2目錄下的目錄名稱爲"7"的工程了.服務器

ps:apache服務器虛擬主機設置
http://www.cnblogs.com/hi-bazinga/archive/2012/04/23/2466605.html.app

相關文章
相關標籤/搜索