免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3804 | 回复: 2
打印 上一主题 下一主题

[Web] 如何实现tomcat的高可用性集群 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-04-24 19:39 |只看该作者 |倒序浏览
20可用积分
rt,我看到很多帖子都需要用到apache,很奇怪。
不知道实现tomcat的ha集群有哪些实现方法,最好能附上参考,谢谢!

咋没响应呢,分太少?我又加了10分了

[ 本帖最后由 geyun616 于 2008-4-25 00:06 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-07-30 15:25 |只看该作者

回复 #1 geyun616 的帖子

论坛徽章:
0
3 [报告]
发表于 2008-07-30 19:42 |只看该作者
Tomcat+Apache 集群
Apache 与 Tomcat 集群方法甚多.我在这里就举一个比较简单的例子吧.这也是我刚通过实验获得的经验.
好的,开始了,首先准备一些安装包,(我的测试环境是RedHat Enterprose 5,最好是在一个环境中做)
apache-tomcat-5.5.26.tar.gz
httpd-2.2.6.tar.gz
apr-1.2.7.tar.gz
apr-util-1.2.7.tar.gz

以上四个包都可以有apache.org官网中下载到.

现在我介绍一下网络环境,

http://192.168.2.226                 //apache 服务器

http://192.168.2.226:8080            //tomcat 1服务器

http://192.168.2.227:8080            //tomcat 2服务器
我所做的就是让apache服务器在被访问时接收请求,并把请求分发到tomcat1与tomcat2执行.

在装apache之前要安装apr 和apr-util这两个包,这是通过代理来做的,如果你不熟悉代理原理.你要在网上找一些关于代理的资料,这样会更容易了解这么做的原理.

安装apr包,解压后执行  ./configure --prefix=/usr/local/apr

make&&make install

再安装apr-util包,解压后 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

make&&make install

现在安装apache

./configure --prefix=/usr/local/apache  --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util \

--enable-so --enable-proxy --enable-proxy-http --enable-cache --enable-dist-cache \

--enable-mods-shared="proxy proxy-http cache dist-cache"
make &&make install

装完之后打开/usr/local/apache/conf/extra/httpd-vhosts.conf 修掉所有行,并加入以下行

ProxyPass / balancer://tomcatcluster/ lbmethod=byrequests stickysession=JSESSIONID nofailover=Off timeout=5 maxattempts=3
ProxyPassReverse / balancer://tomcatcluster/
<Proxy balancer://tomcatcluster>
BalancerMember ajp://192.168.2.226:8009 route=tomcat1
BalancerMember ajp://192.168.2.227:8009 route=tomcat2
</Proxy>

加入以上行之后,再在httpd.conf中加入Include /usr/local/apache/conf/extra/httpd-vhosts.conf 包含该文件,

还有一个是要检查apache/moduels目录下,是否有

mod_proxy_ajp.so      
mod_proxy_connect.so  mod_proxy_http.so
mod_cache.so  mod_proxy_balancer.so  mod_proxy_ftp.so  mod_proxy.so

等so文件,如果在编译apache时加了我上面提到的参数就会产生这些so文件的.

现在配置两个tomcat服务器了

修改tomcat/conf/server.xml文件

修改两处即可,

1. 修改前

<Engine name="Catalina" defaultHost="localhost">

修改后

<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">

记得在httpd-vhosts文件中的route=tomcat1吗?,对了,这里的名称要和/usr/local/apache/conf/extra/httpd-vhosts.conf中的route中名称相对应.

2. 查找Cluster字符串,(注意大小写),把<!--  -->这个注释去掉.

同理,在tomcat2下修改这些参数;

好现在基本完成配制.

测试:

你可以在tomcat1和tomcat2下建一个test目录并编辑index.jsp文件

tomcat1  TOMCAT_HOME/webapps/test/index.jsp   <h1>192.168.2.226</h1>

tomcat2  TOMCAT_HOME/webapps/test/index.jsp   <h1>192.168.2.227</h1>

这样你打开http://192.168.2.226/test/index.jsp 不断刷新会看到IP地址的变化,说明成功了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP