J2EE社區(qū)

          茍有恒,何必三更起五更眠;
          最無(wú)益,只怕一日曝十日寒.
          posts - 241, comments - 318, trackbacks - 0, articles - 16
              大家可能都有體會(huì),在weblogic上部署了應(yīng)用以后。訪問(wèn)的時(shí)候都要敲上一堆url。最典型的就是如下:http;//localhost:7001/webapp/……等等,這個(gè)在我們的自己的開(kāi)發(fā)環(huán)境上倒是可以勉強(qiáng)接受,可是在真正的網(wǎng)站發(fā)布的時(shí)候,到了用戶那里,人家可不愿意在域名后面敲上難記的端口再加上一堆路徑。而且,當(dāng)weblogic上面部署了幾個(gè)不同的應(yīng)用的時(shí)候,人家該怎么通過(guò)不同的域名來(lái)訪問(wèn)我的站點(diǎn)呢?這些就是我們接下來(lái)要解決的問(wèn)題。

              讓我們以濰坊電子政務(wù)項(xiàng)目中的一個(gè)解決辦法作為例子吧。首先交代一下環(huán)境:數(shù)據(jù)庫(kù)用的是是oracle。Web應(yīng)用是部署在weblogic上面的,其中有兩個(gè)web應(yīng)用是要通過(guò)域名讓外界訪問(wèn)的,一個(gè)是外網(wǎng)門(mén)戶網(wǎng)站,web應(yīng)用中名字簡(jiǎn)稱為WWMH。一個(gè)是內(nèi)網(wǎng)門(mén)戶網(wǎng)站,web應(yīng)用中的名字簡(jiǎn)稱為NWMH。假設(shè)這兩個(gè)應(yīng)用是處于同一個(gè)目錄中的,他們的文件夾就是他們web應(yīng)用的名稱,兩個(gè)域名分別是www.weifang.gov.cn和inner.weifang.gov.cn。

              我們先看看域名訪問(wèn)的大體過(guò)程:
              比如外部某個(gè)機(jī)器輸入域名訪問(wèn)www.weifang.gov.cn,這個(gè)域名會(huì)被解析成為ip地址以及一些請(qǐng)求的主機(jī)信息,這樣找到DNS服務(wù)器。再通過(guò)DNS所設(shè)的ip指向weblogic所在主機(jī),這樣就可以訪問(wèn)到外網(wǎng)的應(yīng)用,具體詳細(xì)的DNS原理請(qǐng)參見(jiàn)其他資料。
              外網(wǎng)幾個(gè)關(guān)鍵配置如下:在這里的前提條件是你的web應(yīng)用已經(jīng)部署上了。首先要把mydomain->Servers->myservers中的list port端口改為80,默認(rèn)的是7001。這樣你通過(guò)域名訪問(wèn)的時(shí)候就不需要敲入端口,因?yàn)槟J(rèn)的就是80。然而僅僅這樣還是不夠的,此時(shí)如果你通過(guò)域名訪問(wèn)的時(shí)候,在域名后面還得跟上WWMH的文件夾路徑,否則訪問(wèn)不到。我們現(xiàn)在所要設(shè)置的是context root的路徑。把WWMH的文件夾去掉,取而代之的是 ”/”,這樣你默認(rèn)的路徑就是根目錄了,做法是找到weblogic.xml文件,加上<context-root>/<context-root>,重起服務(wù),這樣通過(guò)域名就可以訪問(wèn)了。
               如果僅僅是部署了一個(gè)應(yīng)用,通過(guò)這樣的配置訪問(wèn)當(dāng)然沒(méi)有問(wèn)題。可是,一個(gè)weblogic上會(huì)部署多個(gè)應(yīng)用。需要通過(guò)不同的域名來(lái)訪問(wèn),此時(shí),該怎么辦?比如說(shuō)這里的內(nèi)網(wǎng),在外網(wǎng)已經(jīng)配置好的情況下,又不忍心去改動(dòng)以前配置好的成果。特別是前面的開(kāi)發(fā)人員已經(jīng)配置好的情況下。我們想到了weblogic自身的一個(gè)功能,那就是設(shè)置虛擬主機(jī)。它的思想就是,把內(nèi)網(wǎng)的應(yīng)用模擬成另外一個(gè)域名,通過(guò)這個(gè)域名來(lái)達(dá)到訪問(wèn)內(nèi)網(wǎng)的目的。

              具體的配置如下:在weblogic的console的左邊導(dǎo)航欄,中選擇mydomain ->Services-> VirtualHosts,然后在右面點(diǎn)擊Configure a new Virtual Host...,在Configuration的General選項(xiàng)卡下面,填寫(xiě):Name: NWMH 。Virtual Host Names里面填上: inner.weifang.gov.cn。然后點(diǎn)擊“apply”,然后到Target and Deploy 選項(xiàng)卡,選中myserver,點(diǎn)擊“apply”,這樣名稱為NWMH的虛擬主機(jī)就搭建成功了。
              接下來(lái)在weblogic的console的左邊導(dǎo)航欄,中選擇mydomain ->Deployments-> Web Application Modeules,在deploy NWMH的應(yīng)用時(shí),在 Virtual Hosts下選上NWMH,點(diǎn)擊 Deploy按鈕。這樣虛擬主機(jī)的配置算是完成了。但是,想要通過(guò)域名直接訪問(wèn)內(nèi)網(wǎng)還是不行。后面還得跟上討厭的路徑,比如inner.weifang.gov/NWMH,然而默認(rèn)的路徑已經(jīng)被外網(wǎng)給占用了,如果你在內(nèi)網(wǎng)的配置文件里面加上<context root>/<context root>,部署肯定是不成功的,weblogic會(huì)告訴你,context root已經(jīng)被占用。怎么辦?其實(shí)不要慌。解決辦法如下:在內(nèi)網(wǎng)門(mén)戶的配置文件上加上 <VirtualHost Name="NWMH" Targets="myserver" DefaultWebApp="NWMH" VirtualHostNames="inner.weifang.gov.cn"/>   。

              重起服務(wù),敲入域名inner.weifang.gov.cn。一切ok!問(wèn)題解決。通過(guò)這種方法,weblogic上即使再部署幾個(gè)應(yīng)用都是可以解決的。



          以上內(nèi)容僅僅是個(gè)人在做項(xiàng)目中的心得。并不保證其技術(shù)的完整性和絕對(duì)正確。

          本文來(lái)自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/nighthawk/archive/2004/07/29/55575.aspx


          名稱: ?4C.ESL | .↗Evon
          口號(hào): 遇到新問(wèn)題?先要尋找一個(gè)方案乄而不是創(chuàng)造一個(gè)方案こ
          mail: 聯(lián)系我


          Feedback

          # re: 談?wù)勅绾瓮ㄟ^(guò)網(wǎng)站域名訪問(wèn)weblogic中的應(yīng)用  回復(fù)  更多評(píng)論   

          2015-05-15 19:29 by Ace
          把端口修改成80后,啟動(dòng)weblogic報(bào)錯(cuò):不能在默認(rèn)監(jiān)聽(tīng)端口創(chuàng)建servcer socket
          主站蜘蛛池模板: 施秉县| 榕江县| 云龙县| 丹凤县| 罗山县| 肥乡县| 咸宁市| 卓尼县| 讷河市| 辰溪县| 遵义市| 台南市| 延庆县| 宁晋县| 和静县| 兴山县| 长武县| 平塘县| 祁东县| 衢州市| 台湾省| 日喀则市| 梁平县| 华安县| 镇宁| 岳阳市| 馆陶县| 利津县| 和平区| 宣城市| 于田县| 普陀区| 肇庆市| 类乌齐县| 永吉县| 潮州市| 霍州市| 清丰县| 炎陵县| 康马县| 弥渡县|