分享
 
 
 

Apache 1.3.26+ Tomcat 4.0.3 负载均衡的实现 by Eddie

王朝system·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

1 说明

======

本配置实现的是多台机器访问的负载均衡。它使用Apache来实现动态负载均衡,并且实现了会话绑定机制,即用户第一次访问的会话将绑定在

首次访问的tomcat上,防止会话信息丢失。

该配置所运行的环境为RedHat linux7.2,实现两台机器的负载均衡,一台机器运行apache和tomcat,另外一台机器运行tomcat.该配置稍做修

改就可以配置在其他操作系统并能实现一台服务器跑多个tomcat的负载均衡,以及多于两台服务器的负载均衡。

2 需要的软件

============

Apache 1.3.26 source

http://www.apache.org/dist/httpd/apache_1.3.26.tar.gz

Precompiled Tomcat 4.0.3

http://jakarta.apache.org/builds ... tomcat-4.0.3.tar.gz

The JK module, precompiled for Linux Glibc 2.2

http://jakarta.apache.org/builds ... inux/i386/mod_jk.so

3 编译、安装和配置Apache

3.1 解包

tar fvxz apache_1.3.23.tar.gz

3.2 编译和安装

cd apache_1.3.26

./configure --enable-module=include --enable-module=so --prefix=/usr/local/apache

make install

3.3 拷贝mod_jk模块文件

拷贝文件 mod_jk.so 到路径 /usr/local/apache/libexec

3.4 在httpd.conf中配置JK 模块

编辑Apache的配置文件,该文件位于:/usr/local/apache/conf

3.4.1 加入mod_jk模块

在文件中找到"# LoadModule foo_module libexec/mod_foo.so"一行,在该行下面加入如下:

#

# Load mod_jk

#

LoadModule jk_module libexec/mod_jk.so

#

# Configure mod_jk

#

JkWorkersFile conf/workers.properties

JkLogFile logs/mod_jk.log

JkLogLevel info

3.4.2 设置tomcat 应用的访问代理

在 "DocumentRoot" 一行的下面加入:

JkMount /*.jsp loadbalancer

JkMount /servlet/* loadbalancer

JkMount /application/* loadbalancer

以上第三行为要访问的应用名。如广州电信邮件系统的应用名为enterprise,则application应该替换。

3.4.3 生成 workers.properties 文件

在 /usr/local/apache/conf目录下生成该文件,该文件告诉apache 每个负载均衡的tomcat服务的运行参数,如机器名和端口号等。

#

# workers.properties

#

# In Unix, we use forward slashes:

ps=/

# list the workers by name

worker.list=tomcat1, tomcat2, loadbalancer

# ------------------------

# First tomcat server

# ------------------------

worker.tomcat1.port=8009 //第一台tomcat服务所在机器监听端口

worker.tomcat1.host=hostname1 //第一台tomcat服务所在机器ip地址

worker.tomcat1.type=ajp13

# Specify the size of the open connection cache.

#worker.tomcat1.cachesize

#

# Specifies the load balance factor when used with

# a load balancing worker.

# Note:

# ----> lbfactor must be > 0

# ----> Low lbfactor means less work done by the worker.

worker.tomcat1.lbfactor=100

# ------------------------

# Second tomcat server

# ------------------------

worker.tomcat2.port=8009 //第二台tomcat服务所在机器监听端口

worker.tomcat2.host=hostname2 //第二台tomcat服务所在机器ip地址

worker.tomcat2.type=ajp13

# Specify the size of the open connection cache.

#worker.tomcat2.cachesize

#

# Specifies the load balance factor when used with

# a load balancing worker.

# Note:

# ----> lbfactor must be > 0

# ----> Low lbfactor means less work done by the worker.

worker.tomcat2.lbfactor=100

# ------------------------

# Load Balancer worker

# ------------------------

#

# The loadbalancer (type lb) worker performs weighted round-robin

# load balancing with sticky sessions.

# Note:

# ----> If a worker dies, the load balancer will check its state

# once in a while. Until then all work is redirected to peer

# worker.

worker.loadbalancer.type=lb

worker.loadbalancer.balanced_workers=tomcat1, tomcat2

#

# END workers.properties

#

4 安装和配置Tomcat 服务器

=========================

在运行tomcat的机器上分别安装tomcat软件

tar fvxz jakarta-tomcat-4.0.3.tar.gz

mv jakarta-tomcat-4.0.3 /opt/tomcat

4.1 修改conf/server.xml文件

在跑第一个tomcat实例的机器上,在大约第100行, 替换:

<Engine name="Standalone" defaultHost="localhost" debug="0">

为:

<Engine jvmRoute="tomcat1" name="Standalone" defaultHost="localhost" debug="0">

对跑第二个tomcat实例的机器上,替换为 jvmRoute="tomcat2".

4.2 生成JSP测试网页 (index.jsp)

在跑tomcat1实例的机器的 /opt/tomcat/webapps/ROOT 目录生成如下内容的index.jsp文件:

<html>

<body bgcolor=red>

<center>

<h1>Tomcat 1</h1>

</body>

</html>

同理,在跑tomcat2实例的机器的 /opt/tomcat/webapps/ROOT 目录生成如下内容的index.jsp文件:

<html>

<body bgcolor=blue>

<center>

<h1>Tomcat 2</h1>

</body>

</html>

5 启动Tomcat1, Tomcat2 和Apache服务

=====================================

/opt/tomcat/bin/startup.sh

/opt/tomcat/bin/startup.sh

/usr/local/apache/bin/apachectl start

6 测试安装

===========

首先验证Apache服务器的静态页面是否正常,访问: http://hostname/.

验证tomcat和apache配置提供负载均衡,访问: http://hostname/index.jsp

如果你看到红色的页面,表示为tomcat1 服务器返回的,

如果你看到兰色的页面,表示为tomcat2 服务器返回的。这里注意的是在linux上面的apache轮询一般要返回10次tomcat1的服务后才会返

回tomcat2的服务,并且以后的访问是没有规律的,在window2000环境下则是交替的返回tomcat1和tomcat2 的服务。

现在再测试下会话绑定功能,当你重载以上(刷新页面)访问的index.jsp页面时,确信永远返回同一种颜色,即总是从同一台tomcat机器返回页面。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
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- 王朝網路 版權所有