apache+tomcat集群配置(实践篇)

来源:互联网 发布:流星网络电视怎么样 编辑:程序博客网 时间:2024/06/07 02:49
 实现tomcat集群的具体步骤如下:
 Apache+tomcat

 网上有篇不错的例子:http://www.iteye.com/topic/1017961
 根据网上这篇博客,基本上可以理解以及达到tomcat集群的效果。只不过下面说一下自己开发心得以及注意事项。
 虽然例子中实现了相应的session同步,但是本人在测试时,其实session根本没有共享,因为每次刷新,都有一个新的sessionID。
 其实具体的流程是如上的博客。

 但是需要注意事项如下:
 首先:apache+JK+tomcat版本的问题。
 我测试成功使用tomcat6.0,网上说7.0没有问题,和tomcat6.0一样,但是我在测试,因为出了问题,所以更改为tomcat6.0,其实并不是tomcat版本的问题,但是至于tomcat7.0 ,我没有测试。
第二:更改tomcat中的server.xml中端口号,是更改ajp监听端口号,而不是连接的端口号;
第三:此文章,可以运行,但是缺少东西,若根据本文运行,则session不会同步的,需要更改tomcat中的server.xml。
有两种方式:
(1) 把<cluster></cluster>这个节点的注释去掉。
(2) 修改tcpListenPort=”4001”  添加属性。记得各个端口号不得重复。
另一种方式:
(1) 不用去掉<cluster>节点注释。直接把<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster" defaultMode="true" />
(2) 然后添加属性tcpListenPort=”4001” 即可。

第四:记得本机上的tomcat端口号,都不得重复,比如链接、shutdown的端口号。
这样,就可以实现tomcat共享session了。

我测试版本如下:
Tomcat6(非安装版)+apache2.0.64+mod_jk1.2.37版本(官网下载)。
刚开始使用mod_jk-1.2.31-httpd-2.2.3版本不可以,其实下载mod_jk后面会有相应apache版本,比如mod_jk-1.2.31-httpd-2.2.3,相对应的apache2.2.3版本。
其中mod_jk,一般都是用1.x系列,不使用2.x系列。

当然还有一点:其中一个tomcat坏掉,另一个tomcat链接,则会收到一条消息,接到另一个tomcat进程坏掉的信息,会及时顶替其工作。

tomcat恢复后,则会进入相应的连接池,会刷新一段时间后,会分担apache的工作。


下面博客则是apache2.2版本测试:声明:本人apache2.2版本没有测试,只是测试apache2.0.64系列。

http://blog.csdn.net/limingzhong198/article/details/7668980

网上会提到apache2.2版本会集成mod_jk功能,不必配置worker.proerties文件。