分享
 
 
 

项目维护中的总结——简单的Apache+Tomcat多服务器配置

王朝java/jsp·作者佚名  2006-01-31
窄屏简体版  字體: |||超大  

集群(其实谈不上,不过是多部署了几个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的接收请求的情况及负载情况(这里我忽略了各个服务器的端口设置及其他内容的设置)

参考资料:

Tomcat权威指南 O’REILLY 中国电力出版社

http://jakarta.apache.org

http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/howto/apache.html

http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/howto/workers.html中可以找到关于jk设置的详细说明,有些可能由于本人的英语水平导致的问题您可以在这里找到正确的解答

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有