Apache+Tomcat集群配置


     本文Apache+Tomcat集群配置 基于最新的Apache和Tomcat,具体是2011年4月20日最新的Tomcat和Apache集群和负载均衡配置。

准备环境

Apache

Apache http 服务器,我们利用其对 Tomcat 进行负载均衡。目前最新版本为 2.2.17 ,下载地址为 http://httpd.apache.org/download.cgi#apache22 。如下图:

 

目前已经出现 Apache2.3.11 ,但是为 beta 版本,所以没有使用。

下载后直接安装 msi 即可,如果没有其他的 http 服务器 ( iis) 则应该可以成功安装,端口即为 80 ,能够访问 http://localhost/ 说明安装成功。

Tomcat

Tocmat7 目前已经出现稳定版本的 7.0.12 Tomcat6 则为 6.0.32 。经我测试,这 2 个版本的 Apache 负载均衡配置过程都是一样的,因此下面的配置在 Tomcat6 7 集群是通用的。但是按照下面的配置,集群中 Tomcat 不能既有 Tomcat6 又有 Tomcat7 ,否则虽能够负载均衡,但不能进行 session 复制 ,不知其他方式配置的集群是否可以。

Tomcat 就不用怎么介绍了。既然在本地需要多个节点,那么需要下载 ZIP 版本的 Tomcat

JK

JK Tomcat 提供给 http 服务器的插件 ( 个人理解的 ) ,下载地址为 http://mirror.bjtu.edu.cn/apache/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.31/ 。如下图:

 

这里选择的是 mod_jk-1.2.31-httpd-2.2.3.so ,如果 http 服务器是 Apache2.0.X 版本,则必须选择 mod_jk-1.2.31-httpd-2.0.52.so ,页面下方有英文的说明,大家可以看下。

其实我也在网上看到 Apache2.2 已经集成 Tomcat 插件模块了,可以不用 JK 插件就可以实现 Tomcat 负载均衡,但也需要一些配置,而 JK 这个配置相比也不复杂,就先记录下来。

配置过程

下面就直接写过程了,我也是网络上学习的,只是总结下过程并且利用最新的 Apache Tomcat 测试了下,还是与网络上有些不同的。

修改 Apache 配置

1、 修改 httpd.conf

我的 Apache 安装在 D:\Program Files\Apache Software Foundation\Apache2.2 ,找到 conf 目录下的 httpd.conf ,在文件的最后一行添加

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

2 、新建 mod_jk.conf 文件,内容如下:

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

JkWorkersFile conf/workers.properties

# 指定那些请求交给 tomcat 处理 ,"controller" 为在 workers.propertise 里指定的负载分配控制器名

JkMount /*.jsp controller

3、 将下载的 JK 插件 mod_jk-1.2.31-httpd-2.2.3.so 复制到 Apache 安装目录的 modules 目录下。

4、 新建并编辑 workers.properties 文件,内容如下:

#server

worker.list = controller

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

worker.tomcat1.port=11009

worker.tomcat1.host=localhost

worker.tomcat1.type=ajp13

worker.tomcat1.lbfactor = 1

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

worker.tomcat2.port=12009

worker.tomcat2.host=localhost

worker.tomcat2.type=ajp13

worker.tomcat2.lbfactor = 1

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

worker.tomcat3.port=13009

worker.tomcat3.host=192.168.0.80 // 在我的虚拟机中的,可以算远程的吧

worker.tomcat3.type=ajp13

worker.tomcat3.lbfactor = 1

 

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

worker.controller.type=lb

worker.controller.balanced_workers=tomcat1,tomcat2,tomcat3

worker.controller.sticky_session=false

worker.controller.sticky_session_force=1

#worker.controller.sticky_session=1

这里可以配置任意多个 Tomcat ,此处配置了 3 Tomat 服务器, 2 个本地, 1 个远程,所以为了它们都能够顺利启动起来,本地的服务器端口都是不同的,如果 Tomcat 不再同一机器上,没必要改端口的。

配置 Tomcat

配置 3 Tomcat 服务器,将 Tomcat 解压后复制 3 份,我将每个文件夹分别命名为 Tomcat1 Tomcat2 Tomcat3 ,修改每一份的 server.xml 配置,将 Tomcat1 中修改部分如下图:

Tomcat2 中以上部分的 server.xml 为:

Tomcat3 中以上部分的 server.xml 为:  

因为 Tomat3 在远程服务器,所以没必要改端口的,而我先进行的本地集群测试后将 Tomcat3 复制到远程服务器,所以这 3 Tomcat 端口都不同。

AJP13 connector poat jvmRoute 名称和 workers.properties 中配置对应。

由于截图面积有限,还需要保证本地 2 个本地 Tomcat 配置 server port connector http1.1 port 都不相同。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值