- 浏览: 412653 次
- 性别:
- 来自: 长沙
文章分类
- 全部博客 (185)
- 本地工具调用 (3)
- webservices (6)
- Dom4j,Jdom (3)
- java (24)
- web前端 (14)
- lucene (4)
- mysql (15)
- 设计模式 (3)
- 项目总结 (1)
- 异常 (3)
- tomcat (11)
- 工具常用技能 (4)
- oracle (11)
- Linux (3)
- Ajax (1)
- 分布式/lvs (7)
- hibernate (4)
- spring (6)
- 源码解读 (1)
- swt (3)
- ant (4)
- mina (1)
- jvm (1)
- 非技术 (2)
- 博客收藏 (4)
- 并发编程 (9)
- android (6)
- httpclient (3)
- 串口编程 (1)
最新评论
-
_billow:
[color=red][/color]
DOM4J 读取xml字符串 -
mhshibei:
JSTL 获取当前时间 -
oo1238912:
很有用,解决了缩放PS图片的问题,非常感谢。
jmagick 用法 -
edmond207:
你好,请问一下,我配置成一个连接数,为何多台机器仍然能访问成功 ...
tomcat6 连接数设置 -
dizhuang:
不错啊,学习啊
Tomcat源码之-初始化
[b][/b] 关键字: tomcat集群, 负载均衡, session同步
<http://liuyu.blog.51cto.com/183345/113544>
(基于apache的tomcat负载均衡和集群配置 (采用的session策略是 Session Sticky
)
1】 下载安装
httpd-2.2.15-win32-x86-no_ssl.msi 网页服务器
32-bit Windows zip tomcat
mod_jk-1.2.30-httpd-2.2.3.so Apache/IIS 用来连接后台Tomcat的模块,支持集群和负载均衡
下载地址 http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.31/
JK 分为两个版本 1,x 和 2.x ,其中 2.x 并不是最新的版本,它是 JK 的另外一个分支,后不知何因没有继续开发,因此2.x 版本已经废弃
安装httpd-2.2.15-win32-x86-no_ssl.msi 到指定目录,我安装的是C:\Program Files\Apache2.2,以后这个目录将用Apache_Home代替
安装tomcat,我是将两个tomcat进行集群,所以安装两个tomcat,路径分别为:F:\tomcat\tomcat1,F:\tomcat\tomcat2,以后这两个目录将用tomcat1_Home,tomcat2_Home代替
2】 配置Apache_Home\conf\httpd.conf
在httpd.conf文件的最后一行写入include "C:\Program Files\Apache2.2\conf\mod_jk.conf"
3】 配置mod_jk.conf文件
在Apache_Home\conf下建立mod_jk.conf文件
配置内容:
#加载mod_jk Module
LoadModule jk_module modules/mod_jk-1.2.30-httpd-2.2.3.so
将下载的 mod_jk-1.2.30-httpd-2.2.3.so 文件放入到Apache_Home\modules下
# 配置 mod_jk
#加载集群中的workers
JkWorkersFile conf/workers.properties
#加载workers的请求处理分配文件
JkMountFile conf/uriworkermap.properties
#指定jk的日志输出文件
JkLogFile logs/mod_jk.log
#指定日志级别
JkLogLevel warn
#指定哪些请求交给tomcat处理,"controller"为在 workers.propertise里指定的负载分配控制器名
JkMount /* controller
4】 配置workers.propertise文件
在Apache_Home\conf下建立workers.propertise文件
配置内容:
5】 配置uriworkermap.properties文件
6】修改tomcat1_Home\conf\server.xml配置
Starting Coyote HTTP/1.1 on http-8081 默认端口为8080,修改为8081
JK: ajp13 listening on /0.0.0.0:8009 修改端口必须与workers.propertise文件内worker.tomcat1.port=8009一致
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
需要添加的内容:
上面部分如果需要详细的说明可以看webapps\docs\cluster-howto.html
7】修改tomcat2_Home\conf\server.xml配置
Starting Coyote HTTP/1.1 on http-8082 默认端口为8080,修改为8082
<Connector port="9009" protocol="AJP/1.3" redirectPort="8443" />
需要添加的内容:
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1"> <!--tomcat2将与tomcat1黏贴session 在这里指定黏贴对象-->
上面部分如果需要详细的说明可以看webapps\docs\cluster-howto.html
8】session黏贴(共享)方面,如果session中存放的为javabean,javabean必须实现Serializable接口,如果没有实现会报错误 Exception thrown: class java.lang.IllegalArgumentException
9】补充:
看到jameswxx的回复发现确实有欠妥的地方,现在进行改正
在工程的web.xml文件内加入 <distributable/> 标签
标题名不够准确,将原名称“tomcat集群配置流程”更正为“基于apache的tomcat负载均衡和集群配置”
http://www.iteye.com/topic/675914
<http://liuyu.blog.51cto.com/183345/113544>
(基于apache的tomcat负载均衡和集群配置 (采用的session策略是 Session Sticky
)
1】 下载安装
httpd-2.2.15-win32-x86-no_ssl.msi 网页服务器
32-bit Windows zip tomcat
mod_jk-1.2.30-httpd-2.2.3.so Apache/IIS 用来连接后台Tomcat的模块,支持集群和负载均衡
下载地址 http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.31/
JK 分为两个版本 1,x 和 2.x ,其中 2.x 并不是最新的版本,它是 JK 的另外一个分支,后不知何因没有继续开发,因此2.x 版本已经废弃
安装httpd-2.2.15-win32-x86-no_ssl.msi 到指定目录,我安装的是C:\Program Files\Apache2.2,以后这个目录将用Apache_Home代替
安装tomcat,我是将两个tomcat进行集群,所以安装两个tomcat,路径分别为:F:\tomcat\tomcat1,F:\tomcat\tomcat2,以后这两个目录将用tomcat1_Home,tomcat2_Home代替
2】 配置Apache_Home\conf\httpd.conf
在httpd.conf文件的最后一行写入include "C:\Program Files\Apache2.2\conf\mod_jk.conf"
3】 配置mod_jk.conf文件
在Apache_Home\conf下建立mod_jk.conf文件
配置内容:
#加载mod_jk Module
LoadModule jk_module modules/mod_jk-1.2.30-httpd-2.2.3.so
将下载的 mod_jk-1.2.30-httpd-2.2.3.so 文件放入到Apache_Home\modules下
# 配置 mod_jk
#加载集群中的workers
JkWorkersFile conf/workers.properties
#加载workers的请求处理分配文件
JkMountFile conf/uriworkermap.properties
#指定jk的日志输出文件
JkLogFile logs/mod_jk.log
#指定日志级别
JkLogLevel warn
#指定哪些请求交给tomcat处理,"controller"为在 workers.propertise里指定的负载分配控制器名
JkMount /* controller
4】 配置workers.propertise文件
在Apache_Home\conf下建立workers.propertise文件
配置内容:
#server 列表 worker.list=controller,tomcat1,tomcat2 #========tomcat1======== #ajp13 端口号,在tomcat下server.xml配置,默认8009 worker.tomcat1.port=8009 #tomcat的主机地址,如不为本机,请填写ip地址 worker.tomcat1.host=localhost worker.tomcat1.type=ajp13 #server的加权比重,值越高,分得的请求越多 worker.tomcat1.lbfactor=1 #========tomcat2======== #ajp13 端口号,在tomcat下server.xml配置,默认8009 worker.tomcat2.port=9009 #tomcat的主机地址,如不为本机,请填写ip地址 worker.tomcat2.host=localhost worker.tomcat2.type=ajp13 #server的加权比重,值越高,分得的请求越多 worker.tomcat2.lbfactor=1 #========controller,负载均衡控制器======== #server名为controller,用于负载均衡 worker.controller.type=lb #重试次数 worker.retries=3 #指定分担请求的tomcat worker.controller.balanced_workers=tomcat1,tomcat2 #粘性Session(默认是打开的) 当该属性值=True(或1)时,代表Session是粘性的,即同一Session在集群中的同一个节点上处理,Session不跨越节点。在集群环境中,一般将该值设置为False worker.controller.sticky_session=false #设置用于负载均衡的server的session可否共享 有不少文章说设置为1是可以的,也有设置为0才可以的 worker.controller.sticky_session=1 #worker.controller.sticky_session_force=1 #worker.status.type=status
5】 配置uriworkermap.properties文件
在Apache_Home\conf下建立uriworkermap.properties文件 配置内容: #所有请求都由controller这个server处理 /*=controller #所有包含jkstatus请求的都由status这个 server处理 #/jkstatus=status #这里的"!”是“非”的意思。 !/*.gif=controller !/*.jpg=controller !/*.png=controller !/*.css=controller !/*.js=controller !/*.htm=controller !/*.html=controller
6】修改tomcat1_Home\conf\server.xml配置
Starting Coyote HTTP/1.1 on http-8081 默认端口为8080,修改为8081
<Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
JK: ajp13 listening on /0.0.0.0:8009 修改端口必须与workers.propertise文件内worker.tomcat1.port=8009一致
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
需要添加的内容:
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2"> <!--tomcat1将与tomcat2黏贴session 在这里指定黏贴对象--> <!--For clustering, please take a look at documentation at: /docs/cluster-howto.html (simple how to) /docs/config/cluster.html (reference documentation) --> <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8"> <Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true"/> <Channel className="org.apache.catalina.tribes.group.GroupChannel"> <Membership className="org.apache.catalina.tribes.membership.McastService" address="228.0.0.4" port="45564" frequency="500" dropTime="3000"/> <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" address="auto" port="4000" autoBind="100" selectorTimeout="5000" maxThreads="6"/> <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"> <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/> </Sender> <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/> <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/> </Channel> <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/> <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/> <!-- <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" tempDir="/tmp/war-temp/" deployDir="/tmp/war-deploy/" watchDir="/tmp/war-listen/" watchEnabled="false"/> --> <ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/> <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/> </Cluster>
上面部分如果需要详细的说明可以看webapps\docs\cluster-howto.html
7】修改tomcat2_Home\conf\server.xml配置
Starting Coyote HTTP/1.1 on http-8082 默认端口为8080,修改为8082
<Connector port="8082" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />JK: ajp13 listening on /0.0.0.0:9009 修改端口必须与workers.propertise文件内worker.tomcat2.port=9009一致
<Connector port="9009" protocol="AJP/1.3" redirectPort="8443" />
需要添加的内容:
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1"> <!--tomcat2将与tomcat1黏贴session 在这里指定黏贴对象-->
<!--For clustering, please take a look at documentation at: /docs/cluster-howto.html (simple how to) /docs/config/cluster.html (reference documentation) --> <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8"> <Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true"/> <Channel className="org.apache.catalina.tribes.group.GroupChannel"> <Membership className="org.apache.catalina.tribes.membership.McastService" address="228.0.0.4" port="45564" frequency="500" dropTime="3000"/> <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" address="auto" port="4001" autoBind="100" selectorTimeout="5000" maxThreads="6"/> <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"> <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/> </Sender> <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/> <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/> </Channel> <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/> <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/> <!-- <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" tempDir="/tmp/war-temp/" deployDir="/tmp/war-deploy/" watchDir="/tmp/war-listen/" watchEnabled="false"/> --> <ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/> <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/> </Cluster>
上面部分如果需要详细的说明可以看webapps\docs\cluster-howto.html
8】session黏贴(共享)方面,如果session中存放的为javabean,javabean必须实现Serializable接口,如果没有实现会报错误 Exception thrown: class java.lang.IllegalArgumentException
9】补充:
看到jameswxx的回复发现确实有欠妥的地方,现在进行改正
在工程的web.xml文件内加入 <distributable/> 标签
标题名不够准确,将原名称“tomcat集群配置流程”更正为“基于apache的tomcat负载均衡和集群配置”
http://www.iteye.com/topic/675914
- 实例.zip (1.8 MB)
- 下载次数: 6
- apache配置文件.zip (10.6 KB)
- 描述: apache 和tomcat的配置文件,(新)
- 下载次数: 10
发表评论
-
tomcat6 连接数设置
2011-09-09 15:01 12699Tomcat6默认配置,在后台一阵全点击服务器就报废了,查 ... -
检测tomcat服务状态,并能自动重启的代码
2011-07-21 09:13 1860来源:http://java0note.blog.51cto. ... -
tomcat启动脚本
2011-04-22 09:12 1063on error resume Next ... -
64位的Windows2003 Server上添加Tomcat服务
2010-12-24 15:46 141264位的Windows2003 Server上添加Tomcat ... -
定时任务 tomcat
2010-12-23 15:40 1155on error resume Next ... -
Tomcat 设置堆大小
2010-11-02 15:03 6836修改连接数 < port="80" ... -
Tomcat源码之-初始化
2010-10-06 15:10 14331.首先设置Catalina 的路径和初始化Classload ... -
Tomcat源码导入eclipse
2010-10-06 14:46 3323首先下载tomcat源码: 1.http://svn. ... -
一些比较好的tomcat源码blog
2010-09-27 16:27 965tomcat源码分析:http://wuquanyin1011 ... -
Tomcat5.5配置-多域名绑定和虚拟目录(转载)
2010-08-25 13:46 950今天帮一个朋友搭建ospo ...
相关推荐
总之,Apache Tomcat的负载均衡和集群配置涉及到多个配置文件的设置,包括`mod_jk.conf`、`workers.properties`和`uriworkermap.properties`。理解并正确配置这些文件对于构建一个高效、可靠的Java应用服务环境至关...
Apache+Tomcat负载均衡与集群配置是提升Web应用性能和高可用性的重要手段。这篇文章将详细介绍如何使用Apache作为前端负载均衡器,与多台Tomcat服务器配合构建集群环境。 首先,我们要理解负载均衡的基本概念,它是...
在本文中,我们将深入探讨如何使用Apache Web服务器结合Tomcat应用服务器,以及mod_jk模块来实现负载均衡和集群配置。 首先,我们来安装Apache。可以从官方网站下载Apache HTTP Server的安装包,例如Apache 2.2.x-...
本文档详细介绍了使用mod_proxy模块与Apache和Tomcat结合来实现负载均衡与集群配置的过程。配置前需要准备相应的环境,包括安装JDK、Apache HTTP Server和Tomcat服务器。本文档使用了Tomcat 7.0.2作为应用服务器,并...
本文将基于提供的文件信息,深入解析Apache Tomcat负载均衡的配置与实现机制。 ### 一、理解Apache Tomcat负载均衡 负载均衡在IT领域是指将工作负载(如网络流量或数据处理任务)分布到多个计算资源(如服务器)上...
Apache Tomcat 负载均衡和集群是企业级应用服务器部署中常见的技术,它能够提高系统的可用性、可扩展性和性能。在这个主题中,我们将深入探讨如何通过Apache HTTP Server(通常简称为Apache)配合Tomcat实现负载均衡...
Apache的mod_jk模块是Apache HTTP服务器与Tomcat应用服务器之间进行通信的重要工具,它主要用于实现负载均衡和故障转移,从而提升Web服务的可用性和性能。在这个压缩包中,包含了不同版本的mod_jk.so文件,适配于32...
Apache 的 Tomcat 负载均衡和集群 ( linux, centos) jkmod
通过以上步骤,我们完成了在 Red Hat Linux 9.0 上安装 Apache、Tomcat 和 Mod_jk 的过程,并进行了简单的负载均衡配置。这些配置能够帮助我们更好地管理应用服务器集群,提高系统的稳定性和性能。当然,实际部署时...
通过以上步骤,我们成功地实现了基于Apache+mod_jk+Tomcat的负载均衡配置。这种方式不仅能够有效分散服务器压力,还能提高服务的稳定性和可用性。需要注意的是,实际部署时还需要考虑更多的因素,比如安全性、监控...
"两台服务器上做Apache2.2+Tomcat6.0+mod_jk的负载均衡"是一个典型的分布式系统架构,旨在通过在多台服务器之间分配工作负载来提高系统的稳定性和性能。下面将详细介绍这个配置涉及的知识点: 1. **Apache ...
Apache、Tomcat以及mod_jk模块组成的集群架构是一种常见的高性能Web服务器和应用服务器组合,用于处理高并发和负载均衡的场景。在这个配置中,Apache作为前端服务器,通过mod_jk模块与后端的Tomcat应用服务器进行...
本压缩包提供了实现Tomcat集群配置所需的Apache服务器和mod_jk模块,具体版本为Apache 2.0.55和mod_jk-apache-2.0.55.so。 Apache HTTP Server是一个开源的Web服务器,它能够处理静态HTML文件和动态内容,如PHP、...
本教程将详细介绍如何在Windows环境下,利用Apache 2.2.24和mod_jk模块实现与Tomcat的集群配置。 首先,我们需要下载Apache HTTP Server 2.2.24的Windows版本,这在文件`appache-httpd-2.2.24-win32.zip`中提供。...
该模块通过JK_Apache和JK_Tomcat之间的协议实现负载均衡、故障转移和会话持久性等功能。`mod_jk`支持多种版本,以适应不同版本的Apache和Tomcat。 **版本兼容性:** 由于Apache和Tomcat的不断更新,`mod_jk`的不同...