西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > 开发教程 > linux教程 >

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

时间:2016-02-19 01:39来源: 作者: 点击:
apache服务器和tomcat的连接方法其实有三种:JK、http_proxy和ajp_proxy,本文主要介绍最为常见的JK。 基于centos5.5 linux下配置: 1.安装tomcat7、apache2.2.22服务器及版本对应的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值一致。
 
<pre> 
更多的work.properties可以参考: 
<pre  lang="java" line="1"> 
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)
0%
------分隔线----------------------------
栏目列表
热点内容