強烈建議不要使用WebLogic ClusterServlet作為Proxy進行生產環境的負載均衡,
那個是用來進行集群的功能測試的,Oracle的產品文擋也寫得比較清楚。
如果采用軟件的負載均衡,可以采用Apache,IIS,Netscape,Oracle提供了代理的so文件。
也可以采用Oracle的Traffic Director軟件。
如果采用Apache的話,安裝方式如下
- 下載Apache http://httpd.apache.org/download.cgi
-
- 安裝Apache,使用默認端口,如果下載原文件,請通過如下方式構建
因為weblogic 11g支持Apache http 2.0或者2.2,所以請下載2.2.x版本不要下載最新的2.4.x
./configure --prefix=PREFIX --enable-so
Make
Make install
修改conf/httpd.conf,主要是修改監聽端口
.PREFIX/bin/apachectl start
- 安裝Apache,使用默認端口,如果下載原文件,請通過如下方式構建
- 拷貝WebLogic Server的mod_wl_20.so或者mod_wl_22.so(具體哪個取決於與之匹配的Apache版本,Apache 2.0對應mod_wl_20.so),so文件放在WebLogic Home/server/plugin下,比如E:\oracle\Middleware\wlserver_10.3\server\plugin\win\32, 目標位置在%APACHE_HOME%\modules
- 修改httpd.conf配置文件(%APACHE_HOME%\conf\httpd.conf),讓apache加載weblogic提供的For Apache的Plugin
LoadModule weblogic_module /modules/mod_wl_20.so
- 配置Apache指向Weblogic集群
- 讓Apache遇到任何請求,都轉發給Weblogic
- 注意此語句只支持匹配規則都發到一個集群的多台server,並不支持路徑分支匹配。
<IfModule mod_weblogic.c> WebLogicCluster ip1:port1,ip2:port2,ip3:port3,ip4:port4 |
- 如果遇到根據url分發到不同的后端服務器的情況,可以參考下面語句
<Location /app1> SetHandler weblogic-handler WebLogicCluster 192.168.128.1:7002,192.168.128.1:7003 </Location>
<Location /app2> SetHandler weblogic-handler WebLogicCluster 192.168.128.1:7004,192.168.128.1:7005 </Location> |
詳情參見
https://docs.oracle.com/cd/E21764_01/web.1111/e16435/apache.htm#PLGWL401