linux下apache tomcat jk集群,apache tomcat 负载均衡集群和session复制 基于jk

apache服务器和tomcat的连接方法其实有三种:JK、http_proxy和ajp_proxy,本文主要介绍最为常见的JK。

基于centos5.5 linux下配置:

1.安装tomcat7、apache2.2.22服务器及版本对应的JK

这里需要注意的是JK版本必须与apache服务器版本号对应,对应的linux的编译的jk版本可以到网上搜索 mod_jk.so去下载

注意点:如果你安装的apache是2.0.63版本或者说是2.0.X版本做好选用 mod_jk-1.2.26-httpd-2.0.61.so,如果是最新版2.2.22,可以选用最用mod_jk-1.2.31-httpd-2.2.x.so,总之不成功的时候自己去试试so,我就实验好多,一开始机器装的是2.0.63的apache让人崩溃的老版本.

下载对应的so文件到apache下的modules目录中,apache_home表示apache服务器安装目录.

2.配置apache服务器

2.1 httpd.conf文件

apache_home目录下的conf/httpd.conf文件中添加

复杂配置:

LoadModule jk_module modules/mod_jk-1.2.31-httpd-2.2.x.so

JkWorkersFile conf/workers.properties

JkMountFile conf/uriworkermap.properties  #加载workers的请求处理分配文件 可以不需要

JkLogFile logs/mod_jk.log #指定jk的日志输出文件 可以不需要

JkLogLevel warn #指定日志级别可以不需要

JkMount /* lbcontroller   #根据需要可以配置多个 设置apache分发器,/*表示apache将所有文件都由分发器lbcontroller 进行分发,你可以自行设置*.jsp,*.do等

uriworkermap.properties文件,内容如下

/*=lbcontroller                     #所有请求都由controller这个server处理

/jkstatus=status                   #所有包含jkstatus请求的都由status这个server处理

!/*.gif=lbcontroller                   #所有以.gif结尾的请求都不由controller这个server处理,以下几个都是一样的意思

!/*.jpg=lbcontroller

!/*.png=lbcontroller

!/*.css=lbcontroller

!/*.js=lbcontroller

!/*.htm=lbcontroller

!/*.html=lbcontroller

简单配置:apache文件加 Include “/usr/local/apache/conf/mod.conf”

在”/usr/local/apache/conf/目录下创建mod.conf内容:

LoadModule jk_module modules/mod_jk-1.2.31-httpd-2.2.x.so

JkWorkersFile conf/workers.properties

#JkMount /*.jsp lbcontroller

#JkMount /*.do lbcontroller

JkMount /* lbcontroller   #根据需要可以配置多个 设置apache分发器,/*表示apache将所有文件都由分发器lbcontroller 进行分发,你可以自行设置*.jsp,*.do等

2.2 workers.properties文件

在apache_home下conf目录中新建workers.properties文件,输入以下内容

Xml代码

worker.list=lbcontroller

#Tomcat1实例配置

worker.tomcat1.host=localhost #此处可以是你的ip地址

worker.tomcat1.port=8009

worker.tomcat1.type=ajp13

#分发权重 值越大负载越大

worker.tomcat1.lbfactor = 1

#Tomcat2实例配置

worker.tomcat2.host=localhost #此处可以是你的ip地址

worker.tomcat2.port=9009

worker.tomcat2.type=ajp13

#分发权重 值越大负载越大

worker.tomcat2.lbfactor = 1

#负载均衡分发控制器

worker.lbcontroller.type=lb

worker.lbcontroller.balance_workers=tomcat1,tomcat2

worker.lbcontroller.sticky_session=True

在这里 worker.list=lbcontroller,内容即为httpd.conf文件中的分发器名称。需要注意的内容是,tomcat实例名称

Xml代码:

worker.tomcat1.host=....

...

worker.tomcat2.host=....

...

在这里就是tomcat1和tomcat2必须与之后tomcat中的server.xml中jvmRoute值一致。

 
 

更多的work.properties可以参考:

 
 

worker.list=loadbalancer                        #定义负载均衡的名称

worker.loadbalancer.type=lb                     #定义负载均衡的类型,为lb

worker.loadbalancer.error_escalation_time=0     #切换错误状态时间

worker.loadbalancer.max_reply_timeouts=10

worker.loadbalancer.sticky_session=1            #1代表为true,0代表为false。

#worker.loadbalancer.sticky_session_force=true

worker.loadbalancer.balance_workers=lb1,lb2 #负载均衡的工作者名称

worker.lb1.reference=worker.template    #lb1参考worker.template工作模板

worker.lb1.host=localhost           #lb1的ip地址

worker.lb1.port=8009                #lb1端口,这里是ajp端口,不是网站端口

worker.lb1.activation=A                 #A:active模式 D:sticky模式 S:不使用

worker.lb2.reference=worker.template

worker.lb2.host=localhost

worker.lb2.port=9009

worker.lb2.activation=A

worker.template.type=ajp13                  #上面lb1,lb2参考下面的值worker.template,协议ajp13

worker.template.socket_connect_timeout=5000 #套接字连接超时为5000毫秒,默认为0

worker.template.socket_keepalive=true           #开启保持为真,默认为false

worker.template.ping_mode=A                 #使用cping/cpong模式,有C,P,I,A四个模式。A全选

worker.template.ping_timeout=10000          #探测cping/cpong超时间默认10000毫秒

worker.template.connection_pool_minsize=0       #连接池关闭最小时间

worker.template.connection_pool_timeout=600 #连接池600秒

worker.template.reply_timeout=300000            #答复超时300000毫秒

worker.template.recovery_options=3          #重试次数

3.tomcat集群配置:配置每个tomcat目录下的server.xml文件,具体修改内容如下

(责任编辑:最模板)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值