Apache配置负载均衡,Glassfish 配置AJP

来源:互联网 发布:java 汉字unicode编码 编辑:程序博客网 时间:2024/05/22 13:34

本文转自:http://czxroy.blog.163.com/blog/static/12203355201152944156506/


配置负载均衡

一、配置Glassfish支持AJP协议(Apache to Java Protocol)接口:

复制ajp 所需的jar
tomcat 5.5.23/server/lib/tomcat-ajp.jar,
tomcat 5.5.23/server/lib/commons-modeler-2.0.jar

commons-logging-1.0.4.jar, log4j-1.2.14.jar Glassfish/lib 目录

 

asadmin create-jvm-options --target cluster1 "-DjvmRoute=\${AJP_INSTANCE_NAME}"
asadmin create-jvm-options --target cluster1 "-Dcom.sun.enterprise.web.connector.enableJK=\${AJP_PORT}"
asadmin create-system-properties --target server1 AJP_INSTANCE_NAME=server1
  asadmin create-system-properties --target server1 AJP_PORT=8019
asadmin create-system-properties --target server2 AJP_INSTANCE_NAME=server2
  asadmin create-system-properties --target server2 AJP_PORT=8029

 

 

二、配置Apache负载均衡模块:

要求已安装Apache2.2.6,修改httpd.conf

取消下面语句的注释
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

增加如下语句
ProxyRequests off

<Proxy balancer://tccluster>

BalancerMember ajp://10.17.34.226:8019 loadfactor=1 route=server1

BalancerMember ajp://10.17.34.226:8029 loadfactor=1 route=server2

</Proxy>

 

 

<Location /databus>

ProxyPass balancer://tccluster/databus stickysession=JSESSIONID  nofailover=On

ProxyPassReverse balancer://tccluster/databus

</Location>

 

修改ajp://10.17.34.226:8019 Glassfish server的具体地址和AJP端口
修改 route=server1 到前面设置的AJP_INSTANCE_NAME

配置中 "nofailover=On" 适合于没有 session 复制的情况下这种情况下如果其中一台 HTTP 服务器出错那么原来分配在这个出错机器上的浏览器客户端不会被自动转移到另外的服务器上必须重新启动浏览器才能将请求分配到另外一台服务器上去.



原创粉丝点击