J2EE社區

          茍有恒,何必三更起五更眠;
          最無益,只怕一日曝十日寒.
          posts - 241, comments - 318, trackbacks - 0, articles - 16

          談談如何通過網站域名訪問weblogic中的應用

          Posted on 2012-03-21 14:02 xcp 閱讀(6759) 評論(1)  編輯  收藏 所屬分類: 雜亂無章
              大家可能都有體會,在weblogic上部署了應用以后。訪問的時候都要敲上一堆url。最典型的就是如下:http;//localhost:7001/webapp/……等等,這個在我們的自己的開發環境上倒是可以勉強接受,可是在真正的網站發布的時候,到了用戶那里,人家可不愿意在域名后面敲上難記的端口再加上一堆路徑。而且,當weblogic上面部署了幾個不同的應用的時候,人家該怎么通過不同的域名來訪問我的站點呢?這些就是我們接下來要解決的問題。

              讓我們以濰坊電子政務項目中的一個解決辦法作為例子吧。首先交代一下環境:數據庫用的是是oracle。Web應用是部署在weblogic上面的,其中有兩個web應用是要通過域名讓外界訪問的,一個是外網門戶網站,web應用中名字簡稱為WWMH。一個是內網門戶網站,web應用中的名字簡稱為NWMH。假設這兩個應用是處于同一個目錄中的,他們的文件夾就是他們web應用的名稱,兩個域名分別是www.weifang.gov.cn和inner.weifang.gov.cn。

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

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

              重起服務,敲入域名inner.weifang.gov.cn。一切ok!問題解決。通過這種方法,weblogic上即使再部署幾個應用都是可以解決的。



          以上內容僅僅是個人在做項目中的心得。并不保證其技術的完整性和絕對正確。

          本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/nighthawk/archive/2004/07/29/55575.aspx


          名稱: ?4C.ESL | .↗Evon
          口號: 遇到新問題?先要尋找一個方案乄而不是創造一個方案こ
          mail: 聯系我


          Feedback

          # re: 談談如何通過網站域名訪問weblogic中的應用  回復  更多評論   

          2015-05-15 19:29 by Ace
          把端口修改成80后,啟動weblogic報錯:不能在默認監聽端口創建servcer socket
          主站蜘蛛池模板: 寿光市| 秭归县| 眉山市| 曲松县| 冀州市| 沅陵县| 钟祥市| 民和| 彩票| 丰都县| 沁水县| 奉新县| 安康市| 乌审旗| 汶上县| 库尔勒市| 松江区| 大理市| 通道| 广南县| 克拉玛依市| 龙口市| 胶州市| 宝应县| 临漳县| 融水| 金川县| 琼海市| 肇州县| 巴里| 九龙坡区| 乐清市| 巴青县| 龙海市| 鄂温| 汝州市| 中西区| 苗栗市| 封丘县| 肇庆市| 新龙县|