apache2.4配置weblogic12c集群(linux环境)

首先确定环境已装apache2.4,没装的话可以看下这篇文章apache2.4一键脚本安装(linux环境)

1.下载apache分发模块mod_wl_24.so

下载apache2.4的weblogic分发模块  mod_wl_24.so

链接:https://pan.baidu.com/s/1c2zxrAK (linux 64位版本,csdn都是要c币的,我也是花钱买的~~o(>_<)o ~~,都不容易,真的需要的话留邮箱我免费发你提取码)

将下载好的mod_wl_24.so上传至apache的安装目录 /usr/local/apache2/modules

2.apache中的weblogic集群配置

进入apache的配置文件(安装的时候我这里指定了配置文件的存放目录 sysconfdir=/etc/httpd24,后续补充我一键安装apache的脚本)

# vi /etc/httpd24/httpd.conf

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

#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

在文件最后加上

LoadModule weblogic_module modules/mod_wl_24.so
<IfModule mod_weblogic.c>
    WebLogicCluster  192.168.43.128:7201,192.168.43.128:7202,192.168.43.128:7203,192.168.43.129:7201,192.168.43.129:7202,192.168.43.129:7203
  MatchExpression *
  DynamicServerList OFF
  KeepAliveEnabled ON
  KeepAliveSecs 30
</IfModule>

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

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

如下:

3.apache负载均衡配置

同样还是apache的配置文件

# vi /etc/httpd24/httpd.conf

启用以下5个模块,也就是去掉语句之前的#号,这里可能和第2步的有些重复,总之确认启用:

#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
#LoadModule slotmem_shm_module modules/mod_slotmem_shm.so

在httpd.conf文件最后加上以下设置,这里采用默认的平均分配算法(轮询),设置权重比例请参考http://www.jb51.net/article/31454.htm这篇文章

ProxyRequests Off
<Proxy balancer://mycluster>
  BalancerMember http://192.168.43.128:7201
  BalancerMember http://192.168.43.128:7202
  BalancerMember http://192.168.43.128:7203
  BalancerMember http://192.168.43.129:7201
  BalancerMember http://192.168.43.129:7202
  BalancerMember http://192.168.43.129:7203
</Proxy>
ProxyPass / balancer://mycluster/
# 警告:以下这段配置仅用于调试,绝不要添加到生产环境中!!!
<Location /balancer-manager>
  SetHandler balancer-manager
  order Deny,Allow
  Allow from all
</Location>

注:这里只需要添加BalancerMember 集群的节点就好,其他不用改动

修改完之后保存退出重启apache服务

# cd  /usr/local/apache2/bin

# ./apachectl - k restart

如果启动有错或者页面加载无响应请查看错误日志

#vi /usr/local/apache2/logs/error.log

4.结果演示

环境:6个节点服务器分为3个集群

cluster1:server1(192.168.43.128:7201),server4(192.168.43.129:7201)

cluster2:server2(192.168.43.128:7202),server5(192.168.43.129:7202)

cluster3:server3(192.168.43.128:7203),server6(192.168.43.129:7203)

 

项目部署目标为3个集群,为了查看演示效果加以区别我分别改了上传至6个节点服务器里war包的默认页面index.jsp

结果如下,可以看到apache将请求分发到各个节点服务器是平均分配的

 至此apache负载均衡weblogic集群的相关配置验证是可以了,后续会补充weblogic集群搭建和项目部署相关的,能做到写一套完完整整的搭建"apache负载均衡+weblogic集群"生产环境的系列,有问题可以留言共同学习哈~

posted @ 2017-12-09 23:36  有来技术  阅读(3459)  评论(57编辑  收藏  举报