Tomcat集群

  • 介绍

把web应用运行在单个Tomcat上,在应付一些对稳定性要求不是很高的场合还是可以的。但试想,Tomcat或者是服务器停掉的话,可能会带来不必要甚至是很大的损失,这时候就需要多个Tomcat协同工作来保证应用永远工作。

首先,Tomcat本身是支持集群的。本文介绍了以apache和nginx作为前端代理的负载均衡。

以apache作为前端代理,需要jk模块的支持。而nginx则天生就有代理的功能,不需要添加其他模块。由此看来,nginx可以代理任何web服务器,而apache要和Tomcat联合的话必须要有jk。从这一点来看,nginx是占有优势的。

  • 安装

apt-get install libapache2-mod-jk

libapache2-mod-jk – Apache 2 connector for the Tomcat Java servlet engine(这个是让apache和Tomcat合作的一个模块,很重要哦)

Tomcat的安装很简单,点击这里下载后解压即可。

  • apache配置

/etc/apache2/mods-enabled/jk.conf

JkMount /*.html tomcat1这个配置,可以使用通配符将某些请求分发到指定的Tomcat中。

JkMount /* loadbalancer这样就能把请求分发了。

/etc/libapache2-mod-jk/workers.properties

[codesyntax lang=”ini”]

sticky_sesion是黏性session的意思。

  • Tomcat配置

config/server.xml

上面配置中,最重要的是jvmRoute=”tomcat1″。如果你有多个Tomcat的话,每个jvmRoute的值都已经不一样,因为这个是jk模块用于区分Tomcat的唯一标识。

如果多个Tomcat在同一个服务器中的话,注意要把端口修改成不一样的,不然Tomcat会无法启动。

  • 测试

在Tomcat目录中添加index.html文件:webapps/test/index.html

重启apache服务(service apache2 restart)以及所有的Tomcat。

然后,访问apache所在的地址(192.168.1.12:80)就可以看到效果了。

http://192.168.1.12/test/index.html

  • nginx负载均衡配置

安装:apt-get install nginx

配置文件:/etc/nginx/sites-available/default

[codesyntax lang=”ini”]

proxy_pass会把请求转发到对应的服务器。

proxy_set_header这些配置都是用于转发http协议头的。

  • 参考

Tomcat的基本配置,请看这里。

Tomcat原理分分析。

http://www.iteye.com/topic/1125301

发表评论

电子邮件地址不会被公开。 必填项已用*标注