`
Callan
  • 浏览: 731385 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

tomcat集群

阅读更多

集群(其实谈不上,不过是多部署了几个tomcat服务器,用jk/jk2负责负载平衡,而且关于负载平衡我还不大了解,只是我不清楚该怎么称谓,暂且用这个怪吓人的名字)的结构:3台机器,机器A部署了Win2000pro+Tomcat(jvmRoute:tomcat1,以下如同)和apache,机器B、C(操作系统都是WinXp)分别各部署了一个Tomcat服务器(tomcat2,tomcat3)

1、 mod_jk2作为连接器插件的服务器整合

服务器环境:Windows2000 profession + apache_2.0.54 + tomcat_4.1.18

连接器插件:mod_jk2.so  (version 2.0.4终结版 apache组织计划在apache2.1/2.2版本中将实现该连接器)

整合过程:

a)  下载apache和mod_jk2(在apache的官方网站上即可 ,以下连接仅供参考:

apache:http://httpd.apache.org/download.cgi

mod_jk2:http://apache.justdn.org/jakarta/tomcat-connectors/jk2/binaries/win32/

b) 安装apache_2.0.54,安装目录假设为C: \apache2(以下用APACHE_HOME代表);将下载的连接器压缩包解压后找到mod_jk2.so文件,将其拷贝至APACHE_HOME\modules目录下

c)  配置jk2:

修改APACHE_HOME\conf\目录下的httpd.conf文件配置如下:

#在文件中LoadModule部分增加以下代码

LoadModule jk2_module modules/mod_jk2.so  #加载插件

在APACHE_HOME\conf\目录下建立workers2.properties文件配置如下:          # Define the communication channel

[channel.socket:10.0.0.33:8009]

info=Ajp13 forwarding over socket  #配置第一个服务器

tomcatId=tomcat1     #必须和tomcat服务其中server.xml中对Engine元素中的#jvmRoute的设置一样,即在server.xml中的设置如下:

 #<Engine name="Standalone" defaultHost="localhost" #debug="0" jvmRoute="tomcat1">
 #这个名字必须唯一,保证集群中的tomcat服务器不能同  #名

debug=0

lb_factor=1       #负载平衡因子,数字越大请求被分配的几率越高

# Define the communication channel

[channel.socket:10.0.0.16:8009]

info=Ajp13 forwarding over socket  #配置第二个服务器

tomcatId=tomcat2

debug=0

lb_factor=1

# Define the communication channel

[channel.socket:10.0.0.31:8009]

info=Ajp13 forwarding over socket  #配置第三个服务器

tomcatId=tomcat3

debug=0

lb_factor=1

[status:]

info=Status worker, displays runtime information.

# Map the Tomcat examples webapp to the Web server uri space

#用于显示各个服务器的接收的请求状态(表述可能不准)

[uri:/jkstatus.jsp]

info=Display status information and checks the config file for changes.

group=status:

# Map the Tomcat examples webapp to the Web server uri space

#映射tomcat中的应用即Context,由于我们的应用是放在tomcat的webapps/root目录   #下的,所以 uri设置为 /*,如果为应用 B,且部署在webapps/B,则uri设置为/B/*

[uri:/*]

info=Map the whole webapp

debug=0

d)    分别启动tomcat服务器和apache服务器(注意:必须保证每台Tomcat服务器都在Engine中设置了正确的jvmRoute,这样负载平衡才有作用),然后就可以试试你的部署了,你可以在apache服务器所在机器上通过http://localhost/jkstatus.jsp 来查看你部署的tomcat的接收请求的情况及负载情况(这里我忽略了各个服务器的端口设置及其他内容的设置)

2、 mod_jk作为连接器插件的服务器整合

服务器环境:Windows2000 profession + apache_2.0.54 + tomcat_4.1.18

连接器插件:mod_jk-1.2.10-apache-2.0.53.so  (version 1.2.10)

整合过程:

a)      下载apache和mod_jk(在apache的官方网站上即可 ,以下连接仅供参考:

apache:http://httpd.apache.org/download.cgi

mod_jk2:http://apache.justdn.org/jakarta/tomcat-connectors/jk/binaries/win32/jk-1.2.10/

b)      安装apache_2.0.54,安装目录假设为C: \apache2(以下用APACHE_HOME代表);将下载的连接器压缩包解压后找到mod_jk-1.2.10-apache-2.0.53.so文件,将其拷贝至APACHE_HOME\modules目录下

c)      配置jk2:

修改APACHE_HOME\conf\目录下的httpd.conf文件配置如下:

#在文件中LoadModule部分增加以下代码
LoadModule  jk_module  modules/mod_jk-1.2.10-apache-2.0.53.so   #加载插件

JkWorkersFile  conf/workers.properties                        #指定jk配置文件位  #置

JkLogFile  logs/mod_jk-1.2.10-apache-2.0.53.log                          #指定jk日志的位置

JkLogLevel debug                                                                        #日志记录级别

JkMount  /*  tomcat                                                    #“/*”表示用于tomca  #处理的应用 ;“tomcat”是出现在#workers.properties文件中worker.list后面 #出现的值

JkMount  /jkstatus.jsp  jkstatus        #用于显示各个服务器的接收的请求状态  #(表述可能不准)

在APACHE_HOME\conf\目录下建立workers.properties文件配置如下:            workers.tomcat_home=E:\Tomcat 4.1  #让mod_jk模块知道Tomcat

workers.java_home=D:\j2sdk1.4.2  #让mod_jk模块知道j2sdk


ps=\  #指定文件路径分割符

worker.list=tomcat,jkstatus       #指定处理web应用的tomcat服务器列表,可以是实  #际的tomcat服务器,也可以是负责负载平衡的“虚”#服务器(它是实际服务器组的管理者)


worker.tomcat.method=R       #指定jk转发请求的方式,T表示根据网络特性选择提  #供服务的tomcat服务器,R表示根据请求数量和负载因#子转发,缺省为R(理解可能有误)

worker.tomcat1.port=8009  #工作端口,若没占用则不用修改

worker.tomcat1.host=localhost  #Tomcat服务器的地址

worker.tomcat1.type=ajp13  #类型

worker.tomcat1.lbfactor=1  #负载平衡因数

worker.tomcat2.port=8009  #工作端口,若没占用则不用修改

worker.tomcat2.host=10.0.0.16  #Tomcat服务器的地址

worker.tomcat2.type=ajp13  #类型

worker.tomcat2.lbfactor=2  #负载平衡因数

worker.tomcat3.port=8009  #工作端口,若没占用则不用修改

worker.tomcat3.host=10.0.0.31  #Tomcat服务器的地址

worker.tomcat3.type=ajp13  #类型

worker.tomcat3.lbfactor=2  #负载平衡因数

worker.tomcat.type=lb  #表明这个worker负责负载平衡

worker.tomcat.balance_workers=tomcat1,tomcat2,tomcat3  # lb类型的worker管理的实际#部署的tomcat服务器, 它的  #名称必须与tomcat服务器中的#Server.xml中Engine元素的#jvmRoute设置必须相同,并且#在balance_workers中出现的这#些值不能出现在worker.list 中

worker.jkstatus.type=status  #表明这个worker负责显示集群状态


d)      分别启动tomcat服务器和apache服务器(注意:必须保证每台Tomcat服务器都在Engine中设置了正确的jvmRoute,这样负载平衡才有作用),然后就可以试试你的部署了,你可以在apache服务器所在机器上通过http://localhost/jkstatus.jsp 来查看你部署的tomcat的接收请求的情况及负载情况(这里我忽略了各个服务器的端口设置及其他内容的设置)

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics