Apache+jk实现tomcat负载均衡

来源:互联网 发布:铁塔基础设计软件 编辑:程序博客网 时间:2024/05/18 02:14


一、引言

负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。负载均衡(Load Balance)是集群技术(Cluster)的一种应用。负载均衡可以将工作任务分摊到多个处理单元,从而提高并发处理能力。目前最常见的负载均衡应用是Web负载均衡。负载均衡可以使用硬件设备,也可以使用软件实现。硬件设备的主要产品是F5-BIG-IP-GTM(简称F5),软件产品主要有LVS、HAProxy、NginX、Jk等。

二、准备工具

Apache apache_2.2.25.msi

Tomcat apache-tomcat-7.0.42.zip

jk : mod_jk-1.2.31-httpd-2.2.3.so

注:本例程以一台机器为例子,即同一台机器上装一个apache2Tomcat

三、安装

把文件解压到自定义盘符下:

1、  安装apache软件参考一下 apache安装:



2、tomcat解压时要注意名字改名字避免出现中文,这里我把文件夹名字改为worker_1,worker_2 ;

3、最后把mod_jk-1.2.31-httpd-2.2.3.so放到apache目录下的module目录中。安装完成!

四、配置apache

1. windows下的主要配置文件就在“安装目录Apache2.2\conf\httpd.conf

在Apache2.2\conf\httpd.conf的最后面添加

# module mod_jk config file

Include conf /mod_jk.conf   

因为我是使用的jk来配置负载均衡的,所以这么多就够了

2. 在Apache2.2\conf\目录下新建文件:mod_jk.conf,内容如下

#load module mod_jk-1.2.31-httpd-2.2.3.so is for Apache 2.2.x.    

LoadModule jk_module modules/mod_jk-1.2.31-httpd-2.2.3.so 

#配置 mod_jk conf    

#加载集群中的workers    

JkWorkersFile conf/workers.properties    

#加载workers的请求处理分配文件            

JkMountFile conf/uriworkermap.properties    

#指定jk的日志输出文件    

JkLogFile logs/mod_jk.log    

#指定日志级别    

JkLogLevel info 

3. Apache2.2\conf\目录下新建文件:workers.properties,内容如下:

# worker列表    

worker.list=LB_worker,jkstatus    

    

#第一个worker的配置,名为worker_1    

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

worker.worker_1.host=localhost    

#ajp13 端口号,对应tomcat配置文件server.xmlConnector port="8009",默认8009    

worker.worker_1.port=8009    

worker.worker_1.type=ajp13    

#负载的权重值,越高表示负载越大    

worker.worker_1.lbfactor=4    

    

#第二个worker的配置,名为worker_2    

worker.worker_2.host=localhost    

#ajp13 端口号,对应tomcat配置文件server.xmlConnector port="9009"    

worker.worker_2.port=9009    

worker.worker_2.type=ajp13    

worker.worker_2.lbfactor=1    

    

#LB_worker,用于负载均衡分发的控制器    

worker.LB_worker.type=lb    

#重试次数    

worker.LB_worker.retries=3    

#指定负载的worker列表,用逗号分隔    

worker.LB_worker.balance_workers=worker_1,worker_2    

#配置session会话是否为粘性    

#这样负载均衡器lb就会尽量保持一个session,也就是使用户在一次会话中跟同一个Tomcat进行交互    

worker.LB_worker.sticky_session=true    

#如果sticky_session设为true时,此处一般设为false    

worker.LB_worker.sticky_session_force=false    

#设置运行状态的控制器    

worker.jkstatus.type=status  

4. Apache2.2\conf\目录下新建文件:uriworkermap.properties,内容如下

#所有请求都由LB_worker这个worker处理    

/*=LB_worker    

#所有包含jkstatus请求的都由名称叫jkstatus的这个worker处理    

/jkstatus=jkstatus    

apache这边已经设置好了,再把tomcat设置好,就能用apache访问tomcat啦。

五、配置Tomcat

其中要进行两个tomcat的分别设置,并且和workers.properties里面的对应的内容相匹配

其实tomcat配置就是两点:

1.     保证tomcat的端口之间互不冲突(需要修改三个地方);

a)    <Serverport="8005" shutdown="SHUTDOWN">

b)    <Connectorport="8080" protocol="HTTP/1.1"  connectionTimeout="20000"   redirectPort="8443" />

c)     <Connectorport="8009" protocol="AJP/1.3"redirectPort="8443" />

2.    保证tomcatConnector端口和apacheworker.property配置文件中一致(默认是8009的那个)。

阅读全文
0 0
原创粉丝点击