apache2.0+weblogic8.1负载均衡!

不是真正意义上的负载均衡,只是一种简单实现。

使用环境:

windows XP

weblogic 8.1.5

apache_2.0.59-win32-x86-no_ssl.msi

apache2.0+weblogic8.1负载均衡!_第1张图片

1.在多个不同的服务器分别创建domian,并部署相同的应用程序,应用程序连接同一个数据库,要求多个domain相互独立,能单独正常运行。测试用TestDL.war应用运行时,会在页面及weblogic控制台打印“this is test page!”(建domain、配连接池、数据源、发布程序的过程不再描述)

2.在另一台服务器上安装apache2.0,作为代理服务器,安装过程不再描述。

3.apache安装完成后,默认80端口,如果以后需要改端口,可以在Apache安装目录下的conf/httpd.conf中修改Listen项和ServerName项中的端口号。可以通过http://localhost 测试,是否成功安装。

apache2.0+weblogic8.1负载均衡!_第2张图片

4.编辑httpd.conf文件,在Listen 80行后,增加:Include conf/weblogic.conf

设置以下属性的值:

Timeout 300

KeepAlive On

MaxKeepAliveRequests 0

ThreadsPerChild 1920

MaxRequestsPerChild  10000

LogLevel error

其中:ThreadsPerChild、MaxRequestsPerChild的设置是为了解决:Action.c(10): Continuing after Error -26609: HTTP Status-Code=503 (Service Temporarily Unavailable)错误。

去掉server-status配置模块相关配置信息的注释,使其生效。比如

<Location /server-status>

    SetHandler server-status

    Order allow,deny

    Deny from nothing

    Allow from all

</Location>

去掉下面4行语句之前的#号:

#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule rewrite_module modules/mod_rewrite.so

5.将C:\bea\weblogic81\server\bin目录下的mod_wl_20.so复制到apache安装目录 C:\Program Files\Apache Group\Apache2\conf下。

6.新建weblogic.conf文件,内容如下:

LoadModule weblogic_module modules/mod_wl_20.so
<Location /TestDL>
SetHandler weblogic-handler
WebLogicCluster 82.0.98.237:7001,82.0.176.3:7001
Debug ON
Debug ALL
DebugConfigInfo ON
WLLogFile c:\wl.log 
DynamicServerList OFF
KeepAliveEnabled ON
KeepAliveSecs 30 
</Location>

其中:/TestDL是应用的上下文根

         82.0.98.237:7001,82.0.176.3:7001是2台web服务器的IP地址及端口号,中间用逗号分隔。

         DynamicServerList设置为OFF,在对由插件所代理的请求进行负载平衡时,不使用动态集群列表,而是使用WebLogicCluster参数指定的静态列表。

         DynamicServerList 、KeepAliveEnabled、KeepAliveSecs 的设置是为了解决: No backend server available for connection: timed out after 10 seconds or idempotent set to OFF错误。

7.重启apache服务,在代理服务器上使用http://localhost/TestDL,测试负载均衡效果。

apache2.0+weblogic8.1负载均衡!_第3张图片

 说明:

 1、最新版apache2.2不兼容weblogic8,必须是2.0.X版本。

 2、apache代理服务器负责请求的分发,当访问量过大时,apache代理服务器的压力会随之增大,为了保证请求不被堵塞,使用一台配置高的服务器单独作为apache代理,代理服务器不要再作为web服务器。

 2、在代理服务器上使用http://localhost/TestDL访问应用时,只看到一台服务器出日志,这时新打开一个IE窗口,重新访问,就可以看到另一台服务器上出日志了,在同一个窗口里点刷新是看不到负载均衡效果的。

你可能感兴趣的:(apache,weblogic,负载均衡,服务器,Module,idempotent)