文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Apache 1.3.26+ Tomcat 4.0.3 负载均衡的实现 by..

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

时间:2005-12-15  来源:tony_413

来自:http://www.chinalinuxpub.com/read.php?wid=522

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机器返回页面。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载