AIX上apache+tomcat5.5.26负载均衡实现完全手册(单机)

AIX上apache+tomcat5.5.26负载均衡实现完全手册(单机)

[@more@]

一、tomcat集群实现
1.1、下载tomcat5和jdk1.5(IBM java5),下载地址分别为:
http://tomcat.apache.org/download-55.cgi
http://www-128.ibm.com/developerworks/java/jdk/aix/service.html

1.2、安装JDK
cd /u01/tomcat5.5.26
tar -xvf Java5.sdk.tar 解压后产生Java5.sdk
smitty install 选择安装路径,此处不赘述了,"ACCEPT new license agreements? "修改为yes,否则安装报错。
vi /etc/environment 修改PATH变量,添加JAVA_HOME变量如下:
PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11:/sbin:/usr/java5/jre/bin:/usr/java5/bin
JAVA_HOME=/usr/java5
为了使变量生效,登出系统后再登入

1.3、安装tomcat5.5.26
cd /u01/tomcat5.5.26
gunzip apache-tomcat-5.5.26.tar.gz
tar -xvf apache-tomcat-5.5.26.tar
将apache-tomcat-5.5.26文件夹拷贝到/u01/tomcat5目录
对使用tomcat的用户增加环境变量
vi .profile
export JAVA_HOME=/usr/java5
export CATALINA_HOME=/u01/tomcat5
保存后使其生效,可以直接执行
export JAVA_HOME=/usr/java5
export CATALINA_HOME=/u01/tomcat5

1.4、启动tomcat
cd /u01/tomcat5/bin
./startup.sh 启动tomcat
.shutdown.sh 关闭tomcat
另一个tomcat的安装一样,安装路径为 :/u01/tomcat5b

1.5、使 Tomcat 集群配置生效并添加虚拟主机
修改 Tomcat配置文件confserver.xml ,把Cluster参数前后的注释符(<!-- 和 --&gt)删除,并保存,这样集群就已经实现
修改
修改
如果是在一台机器上做实验,把其中一个tomcat配置文件的的 Server/Service/AJP Connector 的端口更改,以避免和第一个冲突,修改端口为
(8015/8025,8070/8090,8019/8029)
同时修改 Cluster/Receiver 结点的 tcpListenPort 端口(此端口用于 Session 复制),以避免和第一个冲突(4001 -> 4002)
注:Tomcat Cluster 默认使用多播来建立成员关系,即两个实例的多播的地址和端口一样,就可以互相认为是同一个 Cluster 的成员。
如果在不同的机器上就不需要修改了
添加虚拟主机并增加虚拟目录
www.test.com" appBase="webapps" 其中webapps对应到/var/www,test为某个WEB发布的根目录
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">

虚拟目录增加
这样就可以通过访问域名直接访问index.jsp了,访问时就不需要再在域名后加test了

1.6、写一个简单Web应用,能显示和设置 Session 属性值,以供测试
如果有开发工具,新建一个 Web App ,假设为 test (已经生成WAR包,将该目录下的WAR直接使用就可以了)
新增 index.jsp ,加入如下代码:

Cluster App Test

Server Info:
out.println("
ID " + session.getId());

// 如果有新的 Session 属性设置
String dataName = request.getParameter("dataName");
if (dataName != null && dataName.length() > 0) {
String dataValue = request.getParameter("dataValue");
session.setAttribute(dataName, dataValue);
}

out.print("Session 列表");

Enumeration e = session.getAttributeNames();
while (e.hasMoreElements()) {
String name = (String)e.nextElement();
String value = session.getAttribute(name).toString();
out.println( name + " = " + value);
}
%>


名称:


值:






以上代码主要是显示服务器信息和 Session 值,并包含一个 Form ,可以随时新建一个 Session 属性值
修改此用应用的 Web.xml ,加入 distributable 属性,表示 Tomcat 要为此 Web 应用复制 Session
http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">

test



最好生成war包,其他方式也可以,不过我感觉还是war包比较好

1.7、测试 Tomcat 集群和 Session 复制的是否工作
首先启动tomcat
在 IE 中打开第一个实例中的 test (http://IP地址 :8070/test),在 Form 里随便设置一个 Session 属性,
如 MyName = foo 将 IE 地址栏中的地址修改为第二个实例中的 test(http://IP地址 :8090/test),刷新,
就可以看到注意到 SessionID 不变, MyName 的属性值已有了 同样,如果在第二实例中设置的值,在第一个实例的页面中也能看到
注意:必须在同一个 IE 窗口中进行如上测试,以保证是同一个 Session ,如果是两个窗口,则 Session 可能不同,也互相看不到
Session 复制的结果。

二、负载均衡实现
2.1、下载并安装IBM的gcc安装包
下载地址为:http://www-03.ibm.com/systems/p/os/aix/linux/toolbox/download.html
下载的包为:
gcc-4.2.0-3.aix5.3.ppc.rpm
gcc-cplusplus-4.2.0-3.aix5.3.ppc.rpm
libgcc-4.2.0-3.aix5.3.ppc.rpm
libstdcplusplus-4.2.0-3.aix5.3.ppc.rpm
libstdcplusplus-devel-4.2.0-3.aix5.3.ppc.rpm
安装GCC
rpm -ivh gcc-4.2.0-3.aix5.3.ppc.rpm
rpm -ivh libgcc-4.2.0-3.aix5.3.ppc.rpm

2.2、下载APACHE,JK包
下载地址分别为:
http://archive.apache.org/dist/httpd/ 我选的为 httpd-2.2.6.tar.gz
http://tomcat.apache.org/download-connectors.cgi 我选的为JK 1.2.26 Source Release tar.gz

2.3、安装apache
tar xvfz httpd-2.2.6.tar.gz
cd httpd-2.2.6
./configure --prefix=/usr/local/apache2 --enable-module=so
make
make install

2.4、配置apache
vi /usr/local/apache2/conf/httpd.conf
在Load mod_jk 下面添加
Include conf/mod_jk.conf /或者直接将该文件里面的内容写入该配置文件
找到下面的参数进行修改
ServerName www.test.com:80/IP地址

DocumentRoot /var/www/test(WEB发布所放的路径)


Order deny,allow
Deny from all

DirectoryIndex index.html,index.jsp #添加索引文件

User weblogic
Group weblogic 这些都改为WEB用户的拥有者

NameVirtualHost *:80 添加虚拟主机


ServerAdmin wangling@bingosoft.net
DocumentRoot /var/www/test
ServerName www.hehehe.com (自己取的域名,没有DNS解析,可通过本地电脑来设置)
DirectoryIndex index.html,index.jsp
JkMount /*.jsp loadbalancer
JkMount /*.do loadbalancer
JkMount /*Servlet loadbalancer
这是添加具体的虚拟主机

2.5、生成conf/mod_jk.conf和workers.properties文件
conf/mod_jk.conf的内容如下:
LoadModule jk_module modules/mod_jk.so
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info

workers.properties文件内容如下:
worker.list=loadbalancer
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=tomcat1, tomcat2
# Set properties for tomcat1 (ajp13)
worker.tomcat1.type=ajp13
worker.tomcat1.host=localhost
worker.tomcat1.port=8019
worker.tomcat1.lbfactor=50

# Set properties for tomcat2 (ajp13)
worker.tomcat2.type=ajp13
worker.tomcat2.host=localhost
worker.tomcat2.port=8029
worker.tomcat2.lbfactor=50

其中各参数值根据自己的实际情况来调整

2.6、安装mod_JK
tar zxvf tomcat-connectors-1.2.26-src.tar.gz
cd tomcat-connectors-1.2.26-src/native
./buildconf.sh
./configure --with-apxs=/usr/local/apache2/bin/apxs
make
make install
./libtool --finish /usr/local/apache2/modules
将生成的native/apache-2.0/mod_jk.so 拷贝到/usr/local/apache2/modules文件夹中(好象自动拷贝过去了)

2.7、启动各TOMCAT启动apache
$CATALINA_HOME/bin/startup.sh(这里要启动两个tomcat)
/usr/local/apache2/bin/apachectl start

2.8、测试负载均衡
停用一个tomcat后,输入域名一直刷新
停用两个tomcat后 ,输入域名一直刷新
自己看现象,嘿嘿

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20444553/viewspace-1006034/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/20444553/viewspace-1006034/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值