在做大型商務網站時,考慮到為了分擔系統負擔以及提高系統安全(畢竟Apache是一個非常成熟的WEB服務器)等原因,需要將WebLogic的HTTP Server分離,而使用Apache HTTP Server;這需要安裝Apache-WebLogic插件來實現。當客戶端請求靜態頁面時,使用Apache Server,而當客戶端請求動態頁面時,Apache Server通過插件來使用WebLogic Server;對於客戶端來說,WebLogic Server是不可見的,但是卻能通過插件來使用WebLogic Server的所有服務。
目前WebLogic支持aix,hpux11,solaris,Linux等操作系統,在weblogic/lib/linux目錄(不同的操作系統對應不同的目錄)下,有一個共享目標文件mod_wl.so,這個文件需要安裝到Apache中,所以要求Apache必須支持DSO(Dynamic Shared Object);可以通過以下命令來檢測你的Apache是否支持:
Apache_home/bin/httpd -l
如果在列出的模塊名中有mod_so.c,那麼你的Apache已經支持so模塊,否則需要重新編譯Apache,在編譯Apache時,需要加以下兩個參數:
./configure
--enable-module=so
--enable-rule=SHARED_CORE
接下來是安裝mod_wl.so模塊,先進入weblogic/lib/linux(假設你的操作系統是linux),用以下命令安裝mod_wl.so:
perl APACHE_HOME/bin/apxs -i -a -n weblogic mod_wl.so
以上命令執行完後會拷貝mod_wl.so文件到APACHE_HOME/libexec目錄中,並在httpd.conf文件中自動增加一行:
LoadModule weblogic_module libexec/mod_wl.so
另外還可以在Apache的httpd.conf文件中設置Apache-WebLogic plug-in的參數,這些參數要包含在
# 參數 值
中,參數和值之間不能有等號;目前常用的參數有:
1,WebLogicHost 域名:設置WebLogic主機的名字
2,WebLogicPort 端口號:設置WebLogic主機的端口號
3,ConnectTimeoutSecs 秒數:設置服務器連接超時秒數
4,ErrorPage URL:如果Apache服務器不能請求WebLogic服務器,將轉到你所設置的錯誤頁面
如果不設置以上的參數,也可以通過虛擬主機來實現,具體例子如下: #裝載模塊
LoadModule weblogic_module libexec/mod_wl.so
定位目錄,這個目錄必須和WebLogic Server中的放置.jsp文件的目錄一致
明確指定weblogic模塊的操作者
SetHandler weblogic-handler
如果請求頁面不存在所返回的錯誤頁面
ErrorPage http://www.weblogic-server.com/error.Html
客戶段請求的動態文件,可增加
MatchEXPression *.jsp
設置虛擬主機
NameVirtualHost 10.1.1.6
#WebLogic Server的主機名和端口
WebLogicHost www.weblogic-server.com
WebLogicPort 7001
#連接超時秒數
ConnectTimeoutSecs 30
現在就可以先啟動WebLogic Server再啟動Apache Server,就可以測試你的JSP了:
http://www.weblogic-server.com