Apache+Tomcat集成教程;单服务器多站点,多服务器负载均衡集群!
目前网上有N多关于Apache+Tomcat集成的文章,其实就是来自一两篇文章拷贝来拷贝去。
最近我需要在单台服务器上部署两个站点的集成方案,从网上找了N久也没有找到解决办法(或许是我的方法不对 呵呵)。javaeye论坛上和CSDN论坛上有部分人提出单服务器多站点的场合Apache+tomcat如何集成问题,但大部分都没有正确的答案。经过我两天的摸索,Apache+tomcat集成,负载均衡,集群主要有几个关键点;
1、apache httpd.conf加载jk_module并且根据目录和文件名称将请求转发给tomcat。
2、负责均衡的时候将请求只转发给负载分发控制器,worker.list只要列出分发配置器就可以了,这点网上有很多资料没有说明(肯定是没有认真阅读官方文档所致)。
3、tomcat server.xml配置文件中的Engine节点要注意配置jvmRoute属性,并且该属性值一定要和worker.properties中tomcat的名称保持一致,而且不能重复。如果不一致,将不能使用session_stricky功能。CSDN上有人发帖请教问题,但没有得到答案。
4、集群情况下注意多个tomcat的server.xml配置文件的各种端口不能重复,主要有Server节点、Connector节点、tcpListernPort节点。
5、集群情况下一定要注意server.xml文件Host节点中将Cluster注释去掉,且要修改Receiver端口。
6、负载均衡并不一定需要集群(但需要session_stricky会话保持),除非你需要failover(失败转移)功能。
附件是我摸索整理的整合文档,现在共享出来希望有需要的人可以少走些弯路,本文档不涉及调优方面的内容。文档包含单服务器多个站点配置部分和负载均衡集群配置内容。文档中将一些重要的关键点都进行了红色标注,大家在实践过程中稍加留意红色部分内容。