两台CentOS5.2上apache+tomcat的负载均衡
更新时间:2023-04-25 07:34:01 阅读量: 实用文档 文档下载
两台CentOS5.2上apache+tomcat的负载均衡(2009-06-05 16:37:28)
标签:it分类:linux 两台CentOS5.2上apache+tomcat的负载均衡
今天在在真实的服务器上测试通过,目前总共测试了5天(抚琴煮酒),另需要说明的是现在网上以讹传讹的文章太多,这篇文章有时间我会持续更新的,大家暂时就不要转了,目前没做session复制的相关测试。
所需软件
apache-tomcat-6.0.18.tar.gz
jdk-1_5_0_17-linux-i586-rpm.bin
tomcat-connectors-1.2.27-src.tar.gz
httpd-2.2.11.tar.gz
在两台机器上做apache + tomcat 的负载均衡:计算机apache上同时Apache+tomcat(tomcat1:192.168.19.199)和tomcat2(tomcat2:192.168.19.81)在tomcat1上安装apache + jdk + tomcat + tomcat-connectors ,在tomcat2上安装jdk+tomcat;tomcat1做均衡并提供服务;tomcat1上apache网页文件目录和tomcat网页文件目录要指向同一个目录
一、测试环境及软件安装:
linux 2.6 内核centos 5.2
本例二台tomcat 不在同一机器
先安装了所需的程序库,因服务器只提供apache+tomcat服务,所以只
安装gcc
yum -y install gcc
下载源码包:
apache2 和tomcat5都可以在bcf07c8fcc22bcd126ff0c1f
tomcat5需要JDK1.5的版本。
JK本文用的源码包tomcat-connectors
Apache 安装:
# tar zxvf httpd-2.2.11.tar.gz
#cd httpd-2.2.11
# ./configure --prefix=/usr/local/apache2 --enable-modules=so --enable-so # make && make install
/usr/local/apache2/bin/apachectrl start
看到apache就配置成功了
JDK的安装
#chmod 755 jdk-1_5_0_17-linux-i586.bin
#./jdk-1_5_0_17-linux-i586.bin
# mv jdk-1_5_0_17 /usr/local/
到此JDK已经安装完成
到/usr/bin目录下,把原用的java,javac文件删除:
#rm -rf java
#rm –rf javac
在/usr/bin 下建立软连接java
# ln -s /usr/local/jdk-1_5_0_17/bin/java /usr/bin/java
# ln -s /usr/local/jdk-1_5_0_17/bin/javac /usr/bin/javac
# java –version
# javac -version
java version "1.4.2_08"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_08-b03) Java HotSpot(TM) Client VM (build 1.4.2_08-b03, mixed mode)
为了方便下在的工作建立两个软链接:
ln -s /usr/local/jdk-1_5_0_17 /usr/local/jdk
ln -s /usr/local/jdk-1_5_0_17/jre /usr/local/jre
Tomcat的安装
#tar -zxvf apache-tomcat-6.0.18.tar.gz
# mv apache-tomcat-6.0.18 /usr/local/tomcat
设置环境变量: vim /etc/rc.d/rc.local,以追加的形式添加如下内容JAVA_HOME=/usr/local/jdk
export JAVA_HOME
JRE_HOME=/usr/local/jre
export JRE_HOME
CLASSPATH=/usr/local/tomcat/common/lib/:/usr/local/jdk/lib:/usr/local/jre /lib
export CLASSPATH
PATH=$PATH:/usr/local/tomcat/bin/:/usr/local/apache/bin:/usr/local/jdk/bi n:/usr/local/jre/bin
export PATH
TOMCAT_HOME=/usr/local/tomcat
export TOMCAT_HOME
启动tomcat以检查是否存在错误:
#cd /usr/local/tomcat/bin
#./startup.sh
IP地址:8080 可以看到猫头:)成功了。
在另一台机器上也安装tomcat 并配置好。
JK 安装(整合apache tomcat)
# tar zxvf tomcat-connectors-1.2.27-src.tar.gz
#cd tomcat-connectors-1.2.27-src/native
# ./configure --with-apxs=/usr/local/apache2/bin/apxs --with-java-home=/usr/local/jdk
# make && make install
在/usr/local/apache2/modules/ 下会产生mod_jk.so
修改apache配置文件:
LoadModule jk_module modules/mod_jk.so
JkWorkersFile /usr/local/tomcat/conf/jk/workers.properties JK配置文件负载的配置
JkLogFile /usr/local/tomcat/logs/mod_jk.log 相关日志的设置JkLogLevel info 日志的级别
JkMount /*.jsp controller 将jsp的请求转发给controller(负载均衡控制器)
修改DoucmentRoot 与tomcat的目录一致。
本文修改为:/usr/local/tomcat/webapps/
Options Indexes FollowSymLinks
AllowOverride none
Order allow,deny
Allow from all
即开放/usr/local/tomcat/webapps的权限,让允许所有人访问,我忽视了这个细节问题,浪费了二个下午,大家请注意这点,这步一定记得要做噢,tomcat1做到这步时,其实已经完成了apache+tomcat的整合,如果排障时可测试下直接输入192.168.19.199/test/print.jsp能不能直接运行jsp程度
二、调度器JK的配置
建立JK配置文件:
#vi /usr/local/tomcat/conf/jk/workers.properties
workers.java_home=/usr/local/jdk #指定jdk的目录
ps=/
worker.list=controller #指定负载名,这个可以随便起,与下面的worker.controller.type=lb要对应
#========tomcat1======== 第一台tomcat的配置
worker.tomcat1.port=8009
worker.tomcat1.host=localhost #这里也可以写IP
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor=1 #权量数值越大,分配的机率就最小
#========tomcat2===========
worker.tomcat2.port=8009
worker.tomcat2.host=192.168.19.81 (tomcat2的IP)
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor=1
#========controller,负载均衡器=======
worker.controller.type=lb
worker.controller.balance_workers=tomcat1,tomcat2 # server.xml配置文件里的jvmRoute="tomcat1"指定的名字
worker.controller.sticky_session=1
注意事项:mcastAddr="224.0.0.1" 这主广播地址因此需要开启网卡组播功能
route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0分别在各机器上运行,为了让服务器每次启动均生效,建议写入/etc/rc.d/rc.local
三、测试tomcat的负载均衡
tomcat1:在webapps 下新建test 目录
目录下建WEB-INF目录,再建web.xml文件
xmlns:xsi="bcf07c8fcc22bcd126ff0c1f/2001/XMLSchema-instance" xsi:schemaLocation="bcf07c8fcc22bcd126ff0c1f/xml/ns/j2ee bcf07c8fcc22bcd126ff0c1f/xml/ns/j2ee/web-app_2_4.xsd" version="2.4">
再在webapps 下建立print.jsp test.jsp
Print.jsp :
hello!IP[192.168.19.199]The time is <%= new java.util.Date() %>
tomcat2上操作一样,为了看负载均衡效果,记得将IP改为192.168.19.81,这样测试时就是二个不同的主机,至于目录和文件为什么要这样设置,不懂的同学可参考我的另一篇文章Tomcat基本配置详细说明(以tomcat5.5为例)
测试tomcat1和tomcat2上的tomcat时,用
192.168.19.199:8080/test/print.jsp&192.168.19.81:8080/test/ print.jsp,如果能正常显示猫猫,说明tomcat正常
最终测试,输入192.168.19.199/test/print.jsp时输入二次,应该显示二个不同的jps主页,这说明tomcat的负载均衡成功!
PS:这仅仅是实验环境的一个tomcat负载均衡的实验,没做过压力测试,仅供大家学习参考,大家要做生产环境时还要考虑很多因素,慎。
正在阅读:
两台CentOS5.2上apache+tomcat的负载均衡04-25
幼儿园2022年开展防震演练总结范文五篇03-25
2013年下半年银行从业资格考试《风险管理》模拟题(4)05-18
三大框架SSH的底层机制及原理01-30
20162017学年高中生物选修3检测:专题3胚胎工程 3.1 含答案 精品12-24
4建筑体型组合和立面设计06-01
黄河流域片防洪规划项目综述05-01
土方计量教案04-20
变化的磁场与电场习题答案05-11
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 负载
- 均衡
- CentOS
- apache
- tomcat
- 5.2
- 初中七年级英语下U5U6 知识点测试题
- 中粮肉食(宿迁)有限公司种禽事业部管理手册(麦芽格式)(修改版)
- 精美的食品安全手抄报版面设计
- 古诗望之不似人君,就之而不见所畏焉翻译赏析
- 生物医药基地建设项目可行性研究报告(2015年版)
- 广东省阳东广雅学校2019年高二上学期期中考试历史试题 Word版含
- 巡检系统APP功能方案word
- 中高职院校合作协议书
- 海康威视用户培训手册
- 集团四好领导班子创建活动实施方案
- 劳动法对病假和事假的相关规定(终审稿)
- 四川省成都市大弯中学2012年自主招生考试数学试卷(解析版)
- 部编版二年级下册语文12《寓言二则》同步练习C卷
- 小学科学教师新学期工作计划(新编版)
- 2018_2019学年高一化学上学期期末教学质量检查试题(1)
- 压力容器设计校核人员考试试题含答案【2020年最新】
- 河北省邯郸市2019-2020学年中考语文四模试卷含解析
- 精编儒林外史摘抄好词好句 儒林外史好词100个
- 6.1 细胞的增殖-高一生物(人教版2019必修1)
- 初中文言文知识点:文言文句式之倒装句