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

本文详细介绍了如何在Windows XP环境下,利用Apache 2.0作为代理服务器,实现对多个运行Weblogic 8.1.5并部署相同应用程序的服务器进行简单的负载均衡配置。主要步骤包括Apache的安装、配置修改、mod_wl_20.so模块的使用以及weblogic.conf文件的创建。通过设置,解决了动态集群列表、连接超时和idempotent错误。请注意,最新版Apache 2.2与Weblogic 8不兼容,需使用Apache 2.0.x版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

使用环境:

windows XP

weblogic 8.1.5

apache_2.0.59-win32-x86-no_ssl.msi

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 测试,是否成功安装。

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,测试负载均衡效果。

 说明:

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值