(一)需要的相关程序: 1. apache_2.2.11-win32-x86-no_ssl.msi 2. mod_jk-1.2.28-httpd-2.2.3.so 3. tomcat6
(二)术语解释: 1.apache Apache是普通服务器,本身只支持html即普通网页。不过可以通过插件支持php,还可以与Tomcat连通。 Apache和Tomcat整合使用:如果客户端请求的是静态页面,则只需要Apache服务器响应请求;如果客户端请求动态页面,则是Tomcat服务器响应请求;因为jsp是服务器端解释代码的,这样整合就可以减少Tomcat的服务开销 。
区别:Apache是web服务器,Tomcat是应用(java)服务器,它只是一个servlet容器,是Apache的扩展。 Apache和Tomcat都可以做为独立的web服务器来运行,但是Apache不能解释java程序(jsp,serverlet)。
2.mod_jk tomcat为一个jsp的容器,apache为一个web server,他们之间的通信可以通过worker进行(由Tomcat使用Server.xml文件中Connector的标签来定义其端口和协议),即通过通过mod_jk的模块进行通信。
过程是这样子:apache的httpd.conf文件先调用mod_jk.conf,mod_jk.conf调用workers.properties,最后配置虚拟主机。
(三)文件说明: httpd.conf
mod_jk.conf 主要定义mod_jk模块的位置以及mod_jk模块的连接日志设置,还有定义worker.properties文件的位置。 worker.properties 定义worker的参数,主要是连接tomcat主机的地址和端口信息。如果Tomcat与apache不在同一台机器上,或者需要做多台机器上tomcat的负载均衡只需要更改workers.properties文件中的相应定义即可。 server.xml
(四)文件内容 httpd.conf最后一行添加: Include conf/mod_jk.conf
mod_jk.conf内容: #加载mod_jk Module LoadModule jk_module modules/mod_jk-apache-2.0.55.so #指定 workers.properties文件路径 JkWorkersFile conf/workers.properties #指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器 JkMount /*.jsp controller
worker.properties内容: worker.list = controller,tomcat1,tomcat2 #server 列表 #========tomcat1======== worker.tomcat1.port=7080 #注意这是 ajp1.3 端口号,在tomcat下server.xml配置,默认8009。不是tomcat的web端口,注意区别! worker.tomcat1.host=localhost #tomcat的主机地址,如不为本机,请填写ip地址 worker.tomcat1.type=ajp13 worker.tomcat1.lbfactor = 1 #server的加权比重,值越高,分得的请求越多 #========tomcat2======== worker.tomcat2.port=8089 worker.tomcat2.host=localhost worker.tomcat2.type=ajp13 worker.tomcat2.lbfactor = 1 #========controller,负载均衡控制器======== worker.controller.type=lb worker.controller.balanced_workers=tomcat1,tomcat2 #指定分担请求的tomcat worker.controller.sticky_session=1
(五)Session配置:
(六)注意事项:
(七)出错解答:
1.严重: FarmWarDeployer can only work as host cluster subelement 在server.xml去掉以下代码:
- <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
-
tempDir="/tmp/war-temp/"
-
deployDir="/tmp/war-deploy/"
-
watchDir="/tmp/war-listen/"
-
watchEnabled="false"/>
|
(一)tomcat集群方式
对于tomcat的集群有两种方式,这个主要是针对session而言的。
一种就是sticky模式,即黏性会话模式。所谓sticky模式就是说同一个用户的访问请求都被派送到同一个tomcat实例上,这样我们就无须在多台服务器之间实现session共享了,这是其好处,不好的地方就是不能实现failureover了,一但用户访问的机器挂掉,那么其session就会丢失。
另外一种就是session复制模式了。session复制模式就可以很好的解决failureover的问题,即使某一台web服务器挂掉了,用户的请求还会被负载到其他的web服务器上,而且session也被复制了,这样对用户而言就像是在同一台机器上操作一样,不好的地方就是session复制需要系统资源和网络的开销,尤其是当web服务器多的时候或session里存储的数据量大的时候,这点将会比较的明显(不过自己还没有做这方面的测试)。
针对这两种方式的弊端和好处,我们可以采用将两种方式结合的方式来达到更好的效果,那就是sticky+session复制模式了。用户的请求按照sticky方式被分发到同一个web服务器上,同时tomcat在后台做异步复制(非同步)session到其他web服务器,这样我们使用sticky的简便性,同时又有了一定的容错能力。
(二)以下我们配置下tomcat集群的注意事项
1. 配置多个tomcat,如果运作在同一台机子要保证这些tomcat正常运行,端口不会冲突。
2. 找到所有server.xml,找到配置Engine的位置,取消注释,并修改jvmRoute="tomcat实例名"。tomcat实例名可以自己定义的,不过要跟配置mod_jk的woker.properties中指定的一致。每一个tomcat对应一个实例名。
3. 找到Cluster标签,并取消它的注释即可。将cluster中的Receiver标签下的tcpListenAddress或address改为tomcat所在服务器的真实ip 。
4. 如果tomcat放在同一台电脑上,修改下Receiver标签内容的port端口(如4001,4002等等),避免冲突。
5. 确保每个server.xml里的cluster部分下的Membership标签中的内容一致。并将其中的mcastAdDr="228.0.0.4"改为mcastAddr="228.0.0.4" 或address="228.0.0.4"
6. 如果tomcat在同一机器上请确保每个tomcat下的4个端口不冲突:
Server port
http的Connector port
ajp的Connector port
Receiver标签下的tcpListenPort(port端口)
7. 确保要在应用集群的web应用下的web.xml的末尾添处</web-app>标签里添加
<distributable/>
原文:http://zhumeng8337797.blog.163.com/blog/static/100768914201182395246728/
分享到:
相关推荐
本文详细介绍了 Apache + Tomcat 集群配置的每一步骤,包括安装 Apache 和 Tomcat 服务器、配置 mod_jk 模块、配置 Apache 和 Tomcat 服务器、配置负载均衡控制器等。通过遵循本文的配置步骤,可以成功地配置 Apache...
反向代理负载均衡 Apache + Tomcat集群 多的我也不多说了 看文档
Apache+Tomcat集群配置,Apache+Tomcat集群配置,Apache+Tomcat集群配置
Apache+Tomcat+JK是一个常见的Web服务器和应用服务器集群解决方案,用于实现负载均衡和高可用性。这个配置中,Apache作为前端反向代理服务器,Tomcat作为后端的应用服务器,而JK模块是Apache与Tomcat之间的连接器,...
### Apache+Tomcat服务器集群配置详细步骤 #### 一、引言 在现代Web开发中,随着业务规模的不断扩大和用户...对于处理高并发访问场景或需要提供不间断服务的应用来说,Apache+Tomcat集群无疑是一个理想的解决方案。
Apache+Tomcat集群是一种常见的Web服务器和应用服务器集群架构,用于提高网站的可用性和可扩展性。Apache作为前端服务器,负责接收客户端的HTTP请求,并根据配置的负载均衡策略将这些请求转发给后端的多个Tomcat实例...
Apache+Tomcat集群配置续Apache+Tomcat集群配置续Apache+Tomcat集群配置续Apache+Tomcat集群配置续
- 本文档针对Apache Tomcat集群配置进行了详尽的说明,特别适合新手入门学习,通过本文档能够快速掌握Apache Tomcat集群的基本概念、搭建步骤及注意事项。 #### 知识点详解: ##### 一、集群基础知识 1. **学习...
这份"apache+tomcat集群配置文件和文档"将涵盖以上所有要点,指导你逐步配置和测试Apache+Tomcat集群。按照文档操作,你将能够构建出一个高效且稳定的Web服务环境。在实际操作中,务必根据你的硬件资源和具体需求...
Apache+Tomcat+Linux集群和均衡负载(Session同步复制
apache+tomcat集群 配置使用方法
4. **本地配置Apache + Tomcat集群** - **环境说明**:在这个例子中,我们有一个Apache服务器和两个Tomcat实例,以及mod_jk模块用于两者之间的通信。 - **安装与配置**: - 安装Apache和Tomcat,确保版本匹配。 ...
### Linux下Apache+Tomcat集群指南 #### 一、系统集群环境...通过上述步骤和注意事项,您可以在Linux环境下成功搭建一个Apache+Tomcat集群,并实现负载均衡和Session复制等功能,从而显著提升Web应用的性能和稳定性。
- 通过浏览器访问`http://172.16.116.1/index.jsp`,检查是否能够成功访问,并观察日志文件确认请求是否被正确地分发至Tomcat集群中的不同节点。 #### 四、注意事项 1. **权限问题**: 确保所有操作均以具有足够...
总结,"apache+tomcat集群配置文件和文档说明"涵盖了Apache和Tomcat的集群配置,涉及Apache的负载均衡配置、Tomcat的session复制和集群通信设置,以及Java环境的准备。通过这些配置,可以构建一个高可用的Web服务...
在构建高性能、高可用性的Web应用系统时...通过以上步骤和策略,可以构建起一个稳定、高效的Apache+Tomcat集群环境,确保Web应用的正常运行和用户体验。记得在实际部署中根据具体需求进行调整和测试,以达到最佳效果。