首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > Apache >

apache 2.2 + tomcat 5.5.27 负载均衡跟集群配置

2012-08-29 
apache 2.2 + tomcat 5.5.27 负载均衡和集群配置简单总结Apache2.2.4、tomcat 5.5.27 实现负载均衡集群和se

apache 2.2 + tomcat 5.5.27 负载均衡和集群配置

简单总结

Apache2.2.4、tomcat 5.5.27 实现负载均衡集群和session共享

?

一、负载均衡

1.安装Apache2.2.4

?

2.将mod_jk-apache-2.2.4.so拷贝到modules目录下

jk是mod_jserv的替代者,是tomcat-apache差紧急啊,处理tomcat和apache间的通信,在集群配置中充当负载均衡的作用,jk要与apache的版本对应匹配才行。

?

3.在conf目录下创建workers.properties,此文件是jk的配置文件,和httpd.conf放在同一目录

添加以下内容

?

?

#server 列表

worker.list=controller,tomcat1,tomcat2,tomcat3,tomcat4

#========tomcat1========

#ajp13 端口号,在tomcat下server.xml配置,默认8009

worker.tomcat1.port=8010

#tomcat的主机地址,如不为本机,请填写ip地址

worker.tomcat1.host=192.168.20.19

worker.tomcat1.type=ajp13

#server的加权比重,值越高,分得的请求越多

worker.tomcat1.lbfactor=1

?

#========tomcat2========

#ajp13 端口号,在tomcat下server.xml配置,默认8009(同一机器上的多个tomcat需修改端口)

worker.tomcat2.port=8010

#tomcat的主机地址,如不为本机,请填写ip地址

worker.tomcat2.host=192.168.20.20

worker.tomcat2.type=ajp13

#server的加权比重,值越高,分得的请求越多

worker.tomcat2.lbfactor=1

?

#========tomcat3========

#ajp13 端口号,在tomcat下server.xml配置,默认8009(同一机器上的多个tomcat需修改端口)

worker.tomcat3.port=8010

#tomcat的主机地址,如不为本机,请填写ip地址

worker.tomcat3.host=192.168.20.21

worker.tomcat3.type=ajp13

#server的加权比重,值越高,分得的请求越多

worker.tomcat3.lbfactor=1

?

#========tomcat4========

#ajp13 端口号,在tomcat下server.xml配置,默认8009(同一机器上的多个tomcat需修改端口)

worker.tomcat4.port=8010

#tomcat的主机地址,如不为本机,请填写ip地址

worker.tomcat4.host=192.168.20.22

worker.tomcat4.type=ajp13

#server的加权比重,值越高,分得的请求越多

worker.tomcat4.lbfactor=1

?

#========controller,负载均衡控制器========

#server名为controller,用于负载均衡

worker.controller.type=lb

?

#重试次数

worker.retries=3

#指定分担请求的tomcat

worker.controller.balanced_workers=tomcat1,tomcat2,tomcat3,tomcat4

#粘性Session(默认是打开的) 当该属性值=True(或1)时,代表Session是粘性的,即同一Session在集群中的同一个节点上处理,Session不跨越节点。在集群环境中,一般将该值设置为False

worker.controller.sticky_session=false

#设置用于负载均衡的server的session可否共享 有不少文章说设置为1是可以的,也有设置为0才可以的

worker.controller.sticky_session=1

#worker.controller.sticky_session_force=1

#worker.status.type=status

?

?

4.在apache目录conf下新建mod_jk.conf文件,并添加以下信息

?

?

#Load mod_jk.module 加载mod_jk-apache-2.2.4.so

LoadModule jk_module modules/mod_jk-apache-2.2.4.so

?

#Where to find workers.properties

jkWorkersFile conf/workers.properties

?

#Where to put jk logs

jkLogFile logs/mod_jk.log

?

#Set the jk log level[debug/error/info]

jkLogLevel info

?

#Select the log format

#jkLogStampFormat"[%a %b %d %H:%M:%S %Y]"

?

#jkOptions indicate to send SSL KEY SIZE,jkOptions+ForwardKeySize+ForwardURICompat -ForwardDirectories

?

#Send JSPs for context/to worker named controller 设置过滤,controller为集群控制机名

jkMount /* controller #所有url请求,不管有没有后缀都起作用

jkMount /aabb* controller #若不加*则在访问IP:post/aabb后会访问不到,若想访问到则要加'/'如IP:post/aabb/

jkMount /*.* controller?#只有有后缀都url请求起作用

也可制定转发类型

?

jKmount /servlet/* controller

jkMount /*.jsp controller

JkMount /*.do controller

JKMount /*.css controller

JKMount /*.js controller

JKMount /*.png controller

JKMount /*.jpg controller

JKMount /*.gif controller

?

?

?

5.修改apache的conf目录下的httpd.conf文件,在最后一行添加 include ...\mod_jk.conf

如include "C:\Program Files\Apache Software Foundation\Apache2.2\conf\mod_jk.conf"

?

二、Tomcat集群

Tomcat集群配置

如果在同一机器上就需要将所有端口号修改为不同避免冲突

当前情况为不在同一机器

?

配置Tomcat A

将server.xml中?<Cluster。。。> </Cluster >的注释去掉

修改Engine 节点为

<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">

其中jvmRoute中的内容要和workers.properties中的list中的值相同

?

配置Tomcat B

将server.xml中?<Cluster。。。> </Cluster >的注释去掉

并修改Receiver节点中的tcpListenPort值,要与其他的Tomcat服务器区分开4001,4002等等

?

<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2">

其中jvmRoute中的内容要和workers.properties中的list中的值相同.

?

?

如果还有以此类推

?

三、创建测试页面

新建项目并打成war包

修改index.jsp

?

?修改web.xml 加入<distributable/>已支持session复制(共享)

?

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.5"?

xmlns="http://java.sun.com/xml/ns/javaee"?

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"?

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee?

http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<display-name>TomcatClusterDemo</display-name>

?? ?<distributable/>

??<welcome-file-list>

?? ?<welcome-file>index.jsp</welcome-file>

??</welcome-file-list>

</web-app>

?

启动tomcat服务器及apache后,访问apache如192.168.1.1/项目名/index.jsp

如果成功则会跳转的tomcat服务器中的一个而且session内容会共享

?

热点排行