TomCat域名綁定與虛擬目錄設置

TomCat域名綁定與虛擬目錄設置

Windows下可以通過修改hosts文件進行本地域名解析,Linux下可以麼?

當然!

在這一點上,二者出奇的相同文件名相同,裏機的內容也相同。

windows系統下hosts文件所在目錄:$(系統盤):\WINDOWS\system32\drivers\etc

注意:“文件夾選項”設置:“顯示所有文件和文件夾”去掉“隱藏受保護的系統文件”前面的勾。

Linux下hosts文件所在目錄:/etc

編輯方法:

vi hosts

按insert鍵開始編輯,編輯完成後,依次按:esc——shift+:——w——q——回車,就OK啦。

注意:“——”是分隔符,僅爲描述,無需錄入。

<Host name="www.test.com" appBase="D:\eee" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false" >
<Context path="" docBase="D:\eee" debug="0" reloadable="true" crossContext="true" workDir="D:\eee\jkjk"></Context></Host>

0///////////////////////////////////////////////////////////
tomcat採用默認安裝,要想tamcat直接綁定多個域名,這裏我們需要修改配置文件:C:\Program Files\Apache Software Foundation\Tomcat 5.5\conf\server.xml

server.xml 的修改方式如下:

(一)多域名綁定

1.如果你要綁定網站,首先是要把tomcat的默認訪問端口8080,修改成80(因爲web下默認的端口是:80)

原來:

<Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" />

修改後:

<Connector port="80" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" />

 

其實這裏就是把port:8080,修改成port:80就可以了,其他的參數不變

2.接下來就是重點了哈哈...

<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false" />
</Engine>

當然這裏我把註釋代碼統統刪除掉了,省的礙眼


修改後:

<Engine name="Catalina" defaultHost=www.abc.com>

<Host name="www.abc.com" appBase=="abcapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"

<Host name=www.cba.com appBase=="D:\cba" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false" />

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"   />
</Engine>

這裏解釋一下上面的配置
Engine 的 dafaultHost :表示訪問該tomcat默認進入的主機,注意一定不能是localhost,不然別人通過你的ip訪問,就會默認進入tomcat的管理界面.

Host 的 name:表示該主機綁定的域名,如果綁定localhost則可以通過在瀏覽器中輸入localhost訪問該Host.

Host的 appBase:表示該主機綁定的文件存放路徑,可以使用相對路徑或絕對路徑.

按照上面的配置:
1.如果我在瀏覽器中輸入http://localhost 則訪問 C:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\ROOT 下的網站
2.如果輸入http://www.abc.com 則訪問 C:\Program Files\Apache Software Foundation\Tomcat 5.5\abcapps\ROOT 下的網站
3.如果輸入http://www.cba.com 則訪問 D:\cba\ROOT 下的網站.

注意這裏有一個ROOT目錄需要創建,我們只要把網站放到相應的ROOT目錄向下面,即可通過相應域名訪問了.

這裏面的參數還有很多,我也不是很清楚,不過這樣做確實可以實現多域名綁定哈哈.而且網站頁面修改了只要直接覆蓋就可以了,tomcat可以自動更新類和頁面,當然如果修改了web.xml或lib,則需要重啓tomcat纔可以.


1/////////////////////////////////////////////////////////

修改本地主機上的一個hosts文件,可以進行對ip地址與本地域名的映射,從而解決在本地調試JSP項目的時候,通過本地域名進行訪問。
    hosts文件在系統目錄C:\WINDOWS\system32\drivers\etc\下,這個目錄不容易記憶,如果要經常修改這個文件的話不是很方便找,可以 建立一個批處理hosts.bat文件,用文本編輯器打開,寫入內容explorer "C:\WINDOWS\system32\drivers\etc",保存退出,可以把這個hosts.bat文件放在桌面,每次雙擊它就能打開 hosts文件所在的目錄。也可以將hosts.bat文件放到C:\WINDOWS下,這樣,每次只要從點“開始”->“運行”,輸入 hosts,點回車就可以打開hosts文件所在的目錄了,另外在命令行也可以輸入hosts打開hosts文件所在的目錄。
找到hosts文件後,用文本編輯器打開,默認狀態下,hosts文件裏只有一個映射關係:
    127.0.0.1       localhost
按照這個格式再添加一個映射:
    xxx.xxx.xxx.xxx www.xxxx.com
保存,退出。這時候本地IP地址202.112.113.171已經和www.xxxx.com這個本地域名做了對應的映射關係。

2/////////////////////////////////////////////////////////

1.就是確定你要添加的域名,進入這個目錄C:\WINDOWS\system32\drivers\etc,找到文件hosts文件,然後修改文件的屬性去掉只讀,這時就可以修改文件的內容,添加你理想的域名,按照文件原有的樣式添加,修改完之後,再修改文件的屬性爲只讀,否則這個文件就可能會被病毒攻擊哦...
2.就是修改conf目錄下的server.xml文件了,添加一個Host元素就OK了,
  樣例如下:
  <Host name="www.weiweichen.com" appBase="E:\\Tomcat 5.5\\webapps\\Test"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">
   <Context path="" docBase="E:\\Tomcat 5.5\\webapps\\Test" debug="1" reloadable="true">
   </Context>
</Host>


name指定的就是你在hosts文件中添加的理想的域名,appBase指定的就是你的工程對應的目錄(這裏是絕對路徑),Context設置的是上下文,注意path爲空,docBase要指定絕對路徑...

3////////////////////////////////////////////////////////

server.xml 的修改方式如下:
(一)多域名綁定
1.如果你要綁定網站,首先是要把tomcat的默認訪問端口8080,修改成80

原始:
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

修改後:
<Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

其實這裏就是把port:8080,修改成port:80就可以了,其他的參數不變

2.接下來就是重點了哈哈...
單個域名綁定:
原始:
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false" />
</Engine>
當然這裏我把註釋代碼統統刪除掉了,省的礙眼


修改後:
<Host name="chengqun.202.71one.com" debug="0" appBase="d:\wwwroot\chengqun"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">
<Context path="/" docBase="d:\wwwroot\chengqun"></Context>
</Host>


<Host name="chengqun1.202.71one.com" debug="0" appBase="d:\wwwroot\chengqun1"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">
<Context path="/" docBase="d:\wwwroot\chengqun1"></Context>
</Host>

多域名綁定:
<Host name="chengqun.202.71one.com" debug="0" appBase="d:\wwwroot\chengqun"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">
<Alias>chengqun.202.71one.com</Alias>
<Alias>chengqun1.202.71one.com</Alias>
<Alias>chengqun2.202.71one.com</Alias>
<Context path="/" docBase="d:\wwwroot\chengqun"></Context>
</Host>

這裏面的參數還有很多,我也不是很清楚,不過這樣做確實可以實現多域名綁定哈哈.而且網站頁面修改了只要直接覆蓋就可以了,tomcat可以自動更新類和頁面,當然如果修改了web.xml或lib,則需要重啓tomcat纔可以.

(二)虛擬目錄
(1)
<Host name="chengqun.202.71one.com" debug="0" appBase="d:\wwwroot\chengqun"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">
<Context path="/chengqun" docBase="d:\wwwroot\chengqun"></Context>
</Host>
其中,Host標記是用來配置虛擬主機的,就是可以多個域名指向一個tomcat,格式只要參考默認的就

可以了。

<context>是Host標記的子元素吧,表示一個虛擬目錄,它主要有兩個屬性,path就相當於虛擬目錄名字,

而 docbase則是具體的文件位置。在這裏我的虛擬路徑名稱爲chengqun,實際上我的程序也就是html、jsp、

servlet都 放在了d:\wwwroot\chengqun這個目錄下了。

這樣我就可以通過 chengqun.202. com/chengqun 訪問我的這個虛擬目錄了。

另外一種方法是:

<Host name="chengqun.202. com" debug="0" appBase="d:\wwwroot\chengqun"
       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false">
<Context path="/" docBase="d:\wwwroot\chengqun"></Context>
</Host>
這樣設置以後,輸入域名可以訪問這個站點程序了(Context path="/"這裏不同)
(2)
沒有指定默認站點,所以直接輸入IP的時候,無法訪問。如何讓輸入ip就可以訪問指定的站點呢?
    修改server.xml的 <Engine name="Catalina" defaultHost="chengqun.202. com">
這樣就可以實現了輸入ip訪問chengqun.202. com這個站點的程序了

 

 

此文檔在網上下載在此與大家分享

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