TomCat域名綁定
TomCat 域名綁定與虛擬目錄設(shè)置 Windows下可以通過(guò)修改hosts 文件進(jìn)行本地域名解析,Linux 下可以么?當(dāng)然!在這一點(diǎn)上,二者出奇的相同文件名相同,里機(jī)的內(nèi)容也相同。windows
TomCat 域名綁定與虛擬目錄設(shè)置 Windows
下可以通過(guò)修改hosts 文件進(jìn)行本地域名解析,Linux 下可以么?
當(dāng)然!
在這一點(diǎn)上,二者出奇的相同文件名相同,里機(jī)的內(nèi)容也相同。
windows 系統(tǒng)下hosts 文件所在目錄:$(系統(tǒng)盤(pán)):WINDOWSsystem32driversetc
注意:“文件夾選項(xiàng)”設(shè)置:“顯示所有文件和文件夾”去掉“隱藏受保護(hù)的系統(tǒng)文件”前面的勾。
Linux 下hosts 文件所在目錄:/etc
編輯方法:
vi hosts
按insert 鍵開(kāi)始編輯,編輯完成后,依次按:esc ——shift :——w ——q ——回車,就OK 啦。
注意:“——”是分隔符,僅為描述,無(wú)需錄入。
autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false" >
0///////////////////////////////////////////////////////////
tomcat 采用默認(rèn)安裝, 要想tamcat 直接綁定多個(gè)域名
, 這里我們需要修改配置文件:C:Program FilesApache Software FoundationTomcat
5.5confserver.xml
server.xml 的修改方式如下:
(一)多域名綁定
1. 如果你要綁定網(wǎng)站
,首先是要把tomcat 的默認(rèn)訪問(wèn)端口8080, 修改成80(因?yàn)閣eb 下默認(rèn)的端口是:80)
原來(lái):
minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" /> 修改后: minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" /> 其實(shí)這里就是把port:8080,修改成port:80就可以了, 其他的參數(shù)不變 2. 接下來(lái)就是重點(diǎn)了哈哈... 當(dāng)然這里我把注釋代碼統(tǒng)統(tǒng)刪除掉了, 省的礙眼 修改后: autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false" 這里解釋一下上面的配置 Engine 的 dafaultHost :表示訪問(wèn)該tomcat 默認(rèn)進(jìn)入的主機(jī), 注意一定不能是 localhost, 不然別人通過(guò)你的ip 訪問(wèn), 就會(huì)默認(rèn)進(jìn)入tomcat 的管理界面. Host 的 name:表示該主機(jī)綁定的域名, 如果綁定localhost 則可以通過(guò)在瀏覽器中輸入localhost 訪問(wèn)該Host. Host 的 appBase:表示該主機(jī)綁定的文件存放路徑, 可以使用相對(duì)路徑或絕對(duì)路徑. 按照上面的配置: 1. 如果我在瀏覽器中輸入http://localhost 則訪問(wèn) C:Program FilesApache Software FoundationTomcat 5.5webappsROOT 下的網(wǎng)站 2. 如果輸入http://www.abc.com 則訪問(wèn) C:Program FilesApache Software FoundationTomcat 5.5?cappsROOT 下的網(wǎng)站 3. 如果輸入http://www.cba.com 則訪問(wèn) D:?aROOT 下的網(wǎng)站. 注意這里有一個(gè)ROOT 目錄需要?jiǎng)?chuàng)建, 我們只要把網(wǎng)站放到相應(yīng)的ROOT 目錄向下面, 即可通過(guò)相應(yīng)域名訪問(wèn)了. 這里面的參數(shù)還有很多, 我也不是很清楚, 不過(guò)這樣做確實(shí)可以實(shí)現(xiàn)多域名綁定哈哈. 而且網(wǎng)站頁(yè)面修改了只要直接覆蓋就可以了,tomcat 可以自動(dòng)更新類和頁(yè)面, 當(dāng)然如果修改了web.xml 或lib, 則需要重啟tomcat 才可以. 1///////////////////////////////////////////////////////// 修改本地主機(jī)上的一個(gè)hosts 文件,可以進(jìn)行對(duì)ip 地址與本地域名的映射,從而解決在本地調(diào)試JSP 項(xiàng)目的時(shí)候,通過(guò)本地域名進(jìn)行訪問(wèn)。 hosts 文件在系統(tǒng)目錄C:WINDOWSsystem32driversetc下,這個(gè)目錄不容易記憶,如果要經(jīng)常修改這個(gè)文件的話不是很方便找,可以 建立一個(gè)批處理hosts.bat 文件,用文本編輯器打開(kāi),寫(xiě)入內(nèi)容explorer "C:WINDOWSsystem32driversetc",保存退出,可以把這個(gè)hosts.bat 文件放在桌面,每次雙擊它就能打開(kāi) hosts 文件所在的目錄。也可以將hosts.bat 文件放到C:WINDOWS下,這樣,每次只要從點(diǎn)“開(kāi)始”->“運(yùn)行”,輸入 hosts ,點(diǎn)回車就可以打開(kāi)hosts 文件所在的目錄了,另外在命令行也可以輸入hosts 打開(kāi)hosts 文件所在的目錄。 找到hosts 文件后,用文本編輯器打開(kāi),默認(rèn)狀態(tài)下,hosts 文件里只有一個(gè)映射關(guān)系: 127.0.0.1 localhost 按照這個(gè)格式再添加一個(gè)映射: xxx.xxx.xxx.xxx www.xxxx.com 保存,退出。這時(shí)候本地IP 地址202.112.113.171已經(jīng)和www.xxxx.com 這個(gè)本地域名做了對(duì)應(yīng)的映射關(guān)系。 2///////////////////////////////////////////////////////// 1. 就是確定你要添加的域名, 進(jìn)入這個(gè)目錄C:WINDOWSsystem32driversetc,找到文件hosts 文件, 然后修改文件的屬性去掉只讀, 這時(shí)就可以修改文件的內(nèi)容, 添加你理想的域名, 按照文件原有的樣式添加, 修改完之后, 再修改文件的屬性為只讀, 否則這個(gè)文件就可能會(huì)被病毒攻擊哦... 2. 就是修改conf 目錄下的server.xml 文件了, 添加一個(gè)Host 元素就OK 了, 樣例如下: xmlValidation="false" xmlNamespaceAware="false"> reloadable="true"> name 指定的就是你在hosts 文件中添加的理想的域名,appBase 指定的就是你的工程對(duì)應(yīng)的目錄(這里是絕對(duì)路徑),Context 設(shè)置的是上下文, 注意path 為空,docBase 要指定絕對(duì)路徑... 3//////////////////////////////////////////////////////// server.xml 的修改方式如下: (一)多域名綁定 1. 如果你要綁定網(wǎng)站, 首先是要把tomcat 的默認(rèn)訪問(wèn)端口8080, 修改成80 原始: connectionTimeout="20000" redirectPort="8443" /> 修改后: connectionTimeout="20000" redirectPort="8443" /> 其實(shí)這里就是把port:8080,修改成port:80就可以了, 其他的參數(shù)不變 2. 接下來(lái)就是重點(diǎn)了哈哈... 單個(gè)域名綁定: 原始: 當(dāng)然這里我把注釋代碼統(tǒng)統(tǒng)刪除掉了, 省的礙眼 修改后: xmlValidation="false" xmlNamespaceAware="false"> appBase="d:wwwrootchengqun1" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> 多域名綁定: xmlValidation="false" xmlNamespaceAware="false"> 這里面的參數(shù)還有很多, 我也不是很清楚, 不過(guò)這樣做確實(shí)可以實(shí)現(xiàn)多域名綁定哈哈. 而且網(wǎng)站頁(yè)面修改了只要直接覆蓋就可以了,tomcat 可以自動(dòng)更新類和頁(yè)面, 當(dāng)然如果修改了web.xml 或lib, 則需要重啟tomcat 才可以. (二)虛擬目錄 (1) xmlValidation="false" xmlNamespaceAware="false"> 其中,Host 標(biāo)記是用來(lái)配置虛擬主機(jī)的,就是可以多個(gè)域名指向一個(gè)tomcat ,格式只要參考默認(rèn)的就 可以了。 而 docbase 則是具體的文件位置。在這里我的虛擬路徑名稱為chengqun ,實(shí)際上我的程序也就是html 、jsp 、 servlet 都 放在了d:wwwrootchengqun這個(gè)目錄下了。 這樣我就可以通過(guò) chengqun.202. com/chengqun 訪問(wèn)我的這個(gè)虛擬目錄了。 另外一種方法是: xmlValidation="false" xmlNamespaceAware="false"> 這樣設(shè)置以后,輸入域名可以訪問(wèn)這個(gè)站點(diǎn)程序了(Context path="/"這里不同) (2) 沒(méi)有指定默認(rèn)站點(diǎn),所以直接輸入IP 的時(shí)候,無(wú)法訪問(wèn)。如何讓輸入ip 就可以訪問(wèn)指定的站點(diǎn)呢? 修改server.xml 的 一個(gè)空間綁定多個(gè)域名實(shí)現(xiàn)自動(dòng)跳轉(zhuǎn)的幾種方法! 給出我自己使用的代碼,比如:我有域名1;域名2! 我想域名直接訪問(wèn)blog/index.php 域名2只訪問(wèn)首頁(yè)index1.html "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 即可實(shí)現(xiàn)! 本人只是菜鳥(niǎo),如果不對(duì)之處,請(qǐng)大家口下留情! 第一個(gè) 程序代碼 < if Request.ServerVariables("SERVER_NAME")="www.1xx.com" then response.redirect "williamlong/index.htm" else response.redirect "index2.htm" end if > 第二個(gè) 程序代碼 < select case request.servervariables("http_host") case "www.1xx.com" '1 Server.Transfer("v3.htm") case "www.2xx.com" '2 Server.Transfer("i.htm") case "www.3xx.com" '3 Server.Transfer("write100.htm") ...... 繼續(xù)添加 ...... end select > 第三個(gè) 程序代碼 < if instr(Request.ServerVariables("SERVER_NAME"),"www.1xx.com")>0 then response.redirect "index.asp" elseif instr(Request.ServerVariables("SERVER_NAME"),"www.2xx.com")>0 then response.redirect "x/index.asp" elseif instr(Request.ServerVariables("SERVER_NAME"),"www.3xx.com")>0 then response.redirect "index3.asp" end if > 第四個(gè) 程序代碼 < if Request.ServerVariables("SERVER_NAME")="www.1xx.com" then response.redirect "index1.asp" elseif Request.ServerVariables("SERVER_NAME")="www.2xx.com" then response.redirect "index2.asp" elseif Request.ServerVariables("SERVER_NAME")="www.3xx.com" then response.redirect "index3.asp" end if > 第五個(gè) 程序代碼 < if Request.ServerVariables("SERVER_NAME")="www.1xx.com" then Server.Transfer("williamlong.htm") elseif Request.ServerVariables("SERVER_NAME")="www.2xx.com" then Server.Transfer("moon.htm") elseif Request.ServerVariables("SERVER_NAME")="www.3xx.com" then Server.Transfer("write100.htm") else Server.Transfer("other.htm") end if > 這是一段很有用的代碼,和綁定多域名的ASP 代碼類似, 如果你只有一個(gè)PHP 空間 而你又想放置多個(gè)多個(gè)站點(diǎn),下面這些代碼可以幫到你 第一個(gè): 程序代碼 if($HTTP_HOST=="www.1xx.com"){ Header("Location: moon.htm"); } elseif($HTTP_HOST=="www.2xx.com"){ Header("Location: williamlong.htm"); } else{ Header("Location: other.htm"); } 第二個(gè): 程序代碼 if($HTTP_HOST=="www.1xx.com"){ require "moon.htm"; } elseif($HTTP_HOST=="www.2xx.com"){ require "williamlong.htm"; } else{ require "other.htm"; } 二用JS 來(lái)實(shí)現(xiàn)多域名的跳轉(zhuǎn) 詳解: 1:首先,你的空間必須支持ASP ,并且這個(gè)空間可以綁定下面所用到的兩個(gè)域名,然后新建一個(gè)ASP