Linux环境下Apache反向代理金蝶中间件Apusic集群
操作系统:RedHat Enterprise Linux 5.6
文档参考:《金蝶Apusic应用服务器 帮助手册| IX. Apusic Http Server使用指南》
一、金蝶中间件配置
金蝶中间件需要修改的是集群环境中所有节点域中的apusic.conf和vm.options两个配置文件。
1、apusic.conf配置文件修改
配置高可用性:
<SERVICE CLASS="com.apusic.cluster.ClusterService"> <ATTRIBUTE NAME="ClusterName" VALUE="ApusicCluster"/> <ATTRIBUTE NAME="ReplicationPolicy" VALUE="ALL"/> <ATTRIBUTE NAME="LoadWeight" VALUE="100"/> <ATTRIBUTE NAME="ServerName" VALUE="node1"/> </SERVICE>
其中属性ClusterName为集群的名称,多个节点如果想加入到同一个集群中,ClusterName必须相同。ServerName为当前节点的名称,必须唯一,如果存在相同名称的节点,则后加入的节点会加不到集群中。
由于Apusic默认Session复制策略为配对复制的,如果用户想使用Session多点复制,需要设定ClusterService的配置属性:
<ATTRIBUTE NAME="ReplicationPolicy" VALUE="all"/> <!-- ReplicationPolicy默认为"pair",即配对复制。—>
配置会话:
<SERVICE CLASS="com.apusic.web.session.SessionService"> <ATTRIBUTE NAME="DefaultSessionTimeout" VALUE="3600"/> <ATTRIBUTE NAME="MaxSessionsInCache" VALUE="10240"/> <ATTRIBUTE NAME="SessionInvalidateCheckInterval" VALUE="60"/> <ATTRIBUTE NAME="Distributable" VALUE="True"/> <ATTRIBUTE NAME="Replicable" VALUE="True"/> <ATTRIBUTE NAME="SessionStick" VALUE="True"/> <ATTRIBUTE NAME="PersisteSession" VALUE="False"/> <ATTRIBUTE NAME="DestorySessionOnApplicationStop" VALUE="True"/> </SERVICE>
需要设定SessionService的Distributable和Replicable属性为True。
当用户想使用Session Stick时,SessionStick值需要设置为True。
2、配置vm.options
在该配置文件最后添加如下内容:
apusic.redirect.proxy=true com.apusic.jvm.route=node1
二、Apache2配置
确保Apache已经加载如下module
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
在httpd.conf中增加配置:
<VirtualHost *:80> ProxyRequests off ProxyPass / balancer://proxy/ stickysession=JSESSIONID nofailover=off <Proxy balancer://proxy> BalancerMember http://192.168.101.100:6060/ loadfactor=1 route=node1 BalancerMember http://192.168.101.100:8080/ loadfactor=1 route=node2 </Proxy> </VirtualHost>
其中80端口是用户安装时配置的http协议监听端口,确认是否为80端口,可以查看配置文件中的Listen 选项。BalancerMember为后置机节点,后面的值为后置机的地址和端口。Loadfactor为负载权重。
当用户想使用会话粘滞(Session-Stick),可以在ProxyPass/balancer://test/后面加入stickysession=JSESSIONID,同时在每个BalancerMember最后面加入route=RouteName; 若用户想使用失效转移时还要在后面加入nofailover=off
posted on 2018-11-09 11:53 xusweeter 阅读(1712) 评论(0) 编辑 收藏 举报