简单的Apache 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的接收请求的情况及负载情况(这里我忽略了各个服务器的端口设置及其他内容的设置)

猜你喜欢

转载自afterglow.iteye.com/blog/797777
今日推荐