- 浏览: 54277 次
最新评论
-
song_in_china:
我刚看到,会不会有点晚呢
Apache负载均衡 Tomcat6的集群和session的复制 -
bingel:
谢谢你的博文
看完后 测试成功
非常感谢!!!!!!
Apache负载均衡 Tomcat6的集群和session的复制 -
bleach0608:
楼主总结的好啊,我找了好多,都是不怎么全的
JAVA中的转义字符 -
mmxcq:
呵呵支持楼主发表这么好的文章给我们学习
JAVA中的转义字符 -
linlingyue:
支持一下,虽然我看的不太懂,但是知道是好东西
JAVA中的转义字符
系统环境:Windows XP SP3 ,jdk1.5.0_05
软件版本:apache_2.2.11-win32-x86-openssl-0.9.8i.msi apache-tomcat-6.0.16 apache-tomcat-6.0.18
备注:tomcat可以下载压缩包直接解压就可以,另外也下载整合了APR(Apache Tomcat Native library 1.1.16)
Apache和Tomcat的整合个人推荐使用AJP的方式,配置简单,而且现在tomcat官方鼓励采用这种方式呢!如果想体验mod_JK的方式,下面也有介绍。
我是在同一台机器上作的测试,因为我完成了apache的负载均衡以及tomcat6的集群和session的复制,所以需要修改到的地方可能比较多,先将配置列出如下:
一、AJP方式的配置:
1、 修改apache的httpd.conf
首先要load所需要的so文件,需要列表如下:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
ProxyPass /images !
ProxyPass /css !
ProxyPass /js !
<Proxy balancer://cluster/>
BalancerMember ajp://localhost:8009/ route=tomcat1 loadfactor=50
BalancerMember ajp://localhost:9009/ route=tomcat2 loadfactor=50
</Proxy>
开启虚拟主机
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
httpd-vhosts.conf:
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin winsky_2008@163.com
DocumentRoot "D:\www\webapps"
ServerName localhost
ServerAlias localhost
ErrorLog "logs/localhost-error.log"
CustomLog "logs/localhost-access.log" common
ProxyRequests Off
ProxyPass / balancer://cluster/ stickysession=JSESSIONID nofailover=On
ProxyPassReverse / balancer://cluster/
#ProxyPassReverse /test balancer://cluster/ test
</VirtualHost>
二、mod_jk方式的配置
1、修改apache的httpd.conf
LoadModule jk_module modules/mod_jk.so
JkWorkersFile "conf\workers.properties"
JkMountFile "conf\uriworkermap.properties"
JkLogFile "logs\mod_jk2.log"
JkShmFile "logs\jk.shm"
JkLogLevel info
workers.properties:
workers.java_home=D:\ jdk1.5.0_05
ps=\
worker.list= status,LBCONTROLLER
# localhost server 1
# ------------------------
worker.s1.port=8009
worker.s1.host=localhost
worker.s1.type=ajp13
# localhost server 2
# ------------------------
worker.s2.port=9009
worker.s2.host=localhost
worker.s2.type=ajp13
worker.LBCONTROLLER.type=lb
worker.retries=3
worker.LBCONTROLLER.balanced_workers=s1,s2
worker.LBCONTROLLER.sticky_session=true
worker.status.type=status
uriworkermap.properties:
/*= LBCONTROLLER
#/*.jsp= LBCONTROLLER
#/*.do= LBCONTROLLER
#/*.action= LBCONTROLLER
#/servlet/*= LBCONTROLLER
/jkstatus=status
!/*.gif= LBCONTROLLER
!/*.jpg= LBCONTROLLER
!/*.png= LBCONTROLLER
!/*.css= LBCONTROLLER
!/*.js= LBCONTROLLER
!/*.htm=DLOG4J
!/*.html=DLOG4J
开启虚拟主机
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
httpd-vhosts.conf:
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin winsky_2008@163.com
DocumentRoot "D:\www\webapps"
ServerName localhost
ServerAlias localhost
ErrorLog "logs/localhost-error.log"
CustomLog "logs/localhost-access.log" common
JkMountCopy On
</VirtualHost>
三、修改%TOMCAT_HOME%/conf/server.xml(跟使用AJP和JK方式没有关系,皆通用)
添加集群的配置:
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="6">
<!--
<Manager className="org.apache.catalina.ha.session.BackupManager"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"
mapSendOptions="6"/>
-->
<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="5001"
selectorTimeout="100"
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"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/>
</Channel>
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
<!--
<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>
四、实现session复制
第一步:
Tomcat 6.0.16
<Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat1">
<!--
<Engine name="Catalina" defaultHost="localhost">
-->
Tomcat 6.0.18
<Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat2">
<!--
<Engine name="Catalina" defaultHost="localhost">
-->
第二步:
Webapps目录下的应用程序的web.xm中必须添加
<distributable/> 此应用将与群集服务器复制Session
因为是在同一台机器上启动多个tomcat,所以修改监听的端口是必不可少的,这里将我的配置列出如下:
Tomcat 6.0.16
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" acceptCount="5000" maxThreads="2000"/>
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
Tomcat 6.0.18
<Connector port="9080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="9443" acceptCount="5000" maxThreads="2000"/>
<Connector port="9009" protocol="AJP/1.3" redirectPort="9443" />
配置完成,先启动所有tomcat服务器,最后启动apache2.2服务器
以上为个人使用过程的总结,具体的性能没有做测试,所以没法做比较,如有疑问,可以联系QQ:735014642,进行沟通,欢迎指正~~
附件提供文档下载:关于windows下整合Apache和Tomcat的个人经验.rar
参考连接:http://lamp.linux.gov.cn/Apache/ApacheMenu/mod/mod_proxy.html
http://tomcat.apache.org/tomcat-6.0-doc/config/cluster.html
软件版本:apache_2.2.11-win32-x86-openssl-0.9.8i.msi apache-tomcat-6.0.16 apache-tomcat-6.0.18
备注:tomcat可以下载压缩包直接解压就可以,另外也下载整合了APR(Apache Tomcat Native library 1.1.16)
Apache和Tomcat的整合个人推荐使用AJP的方式,配置简单,而且现在tomcat官方鼓励采用这种方式呢!如果想体验mod_JK的方式,下面也有介绍。
我是在同一台机器上作的测试,因为我完成了apache的负载均衡以及tomcat6的集群和session的复制,所以需要修改到的地方可能比较多,先将配置列出如下:
一、AJP方式的配置:
1、 修改apache的httpd.conf
首先要load所需要的so文件,需要列表如下:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
ProxyPass /images !
ProxyPass /css !
ProxyPass /js !
<Proxy balancer://cluster/>
BalancerMember ajp://localhost:8009/ route=tomcat1 loadfactor=50
BalancerMember ajp://localhost:9009/ route=tomcat2 loadfactor=50
</Proxy>
开启虚拟主机
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
httpd-vhosts.conf:
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin winsky_2008@163.com
DocumentRoot "D:\www\webapps"
ServerName localhost
ServerAlias localhost
ErrorLog "logs/localhost-error.log"
CustomLog "logs/localhost-access.log" common
ProxyRequests Off
ProxyPass / balancer://cluster/ stickysession=JSESSIONID nofailover=On
ProxyPassReverse / balancer://cluster/
#ProxyPassReverse /test balancer://cluster/ test
</VirtualHost>
二、mod_jk方式的配置
1、修改apache的httpd.conf
LoadModule jk_module modules/mod_jk.so
JkWorkersFile "conf\workers.properties"
JkMountFile "conf\uriworkermap.properties"
JkLogFile "logs\mod_jk2.log"
JkShmFile "logs\jk.shm"
JkLogLevel info
workers.properties:
workers.java_home=D:\ jdk1.5.0_05
ps=\
worker.list= status,LBCONTROLLER
# localhost server 1
# ------------------------
worker.s1.port=8009
worker.s1.host=localhost
worker.s1.type=ajp13
# localhost server 2
# ------------------------
worker.s2.port=9009
worker.s2.host=localhost
worker.s2.type=ajp13
worker.LBCONTROLLER.type=lb
worker.retries=3
worker.LBCONTROLLER.balanced_workers=s1,s2
worker.LBCONTROLLER.sticky_session=true
worker.status.type=status
uriworkermap.properties:
/*= LBCONTROLLER
#/*.jsp= LBCONTROLLER
#/*.do= LBCONTROLLER
#/*.action= LBCONTROLLER
#/servlet/*= LBCONTROLLER
/jkstatus=status
!/*.gif= LBCONTROLLER
!/*.jpg= LBCONTROLLER
!/*.png= LBCONTROLLER
!/*.css= LBCONTROLLER
!/*.js= LBCONTROLLER
!/*.htm=DLOG4J
!/*.html=DLOG4J
开启虚拟主机
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
httpd-vhosts.conf:
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin winsky_2008@163.com
DocumentRoot "D:\www\webapps"
ServerName localhost
ServerAlias localhost
ErrorLog "logs/localhost-error.log"
CustomLog "logs/localhost-access.log" common
JkMountCopy On
</VirtualHost>
三、修改%TOMCAT_HOME%/conf/server.xml(跟使用AJP和JK方式没有关系,皆通用)
添加集群的配置:
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="6">
<!--
<Manager className="org.apache.catalina.ha.session.BackupManager"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"
mapSendOptions="6"/>
-->
<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="5001"
selectorTimeout="100"
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"/>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/>
</Channel>
<Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>
<!--
<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>
四、实现session复制
第一步:
Tomcat 6.0.16
<Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat1">
<!--
<Engine name="Catalina" defaultHost="localhost">
-->
Tomcat 6.0.18
<Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat2">
<!--
<Engine name="Catalina" defaultHost="localhost">
-->
第二步:
Webapps目录下的应用程序的web.xm中必须添加
<distributable/> 此应用将与群集服务器复制Session
因为是在同一台机器上启动多个tomcat,所以修改监听的端口是必不可少的,这里将我的配置列出如下:
Tomcat 6.0.16
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" acceptCount="5000" maxThreads="2000"/>
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
Tomcat 6.0.18
<Connector port="9080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="9443" acceptCount="5000" maxThreads="2000"/>
<Connector port="9009" protocol="AJP/1.3" redirectPort="9443" />
配置完成,先启动所有tomcat服务器,最后启动apache2.2服务器
以上为个人使用过程的总结,具体的性能没有做测试,所以没法做比较,如有疑问,可以联系QQ:735014642,进行沟通,欢迎指正~~
附件提供文档下载:关于windows下整合Apache和Tomcat的个人经验.rar
参考连接:http://lamp.linux.gov.cn/Apache/ApacheMenu/mod/mod_proxy.html
http://tomcat.apache.org/tomcat-6.0-doc/config/cluster.html
- 关于windows下整合Apache和Tomcat的个人经验.rar (10.3 KB)
- 下载次数: 172
发表评论
-
有感于《京东技术揭秘》试读
2015-01-07 22:15 1115自己也是这两年开始从京东上面购物的,购买的主要是大件 ... -
有感于《京东技术解密》
2015-01-06 16:56 0[size=large] 京东也是这两年开始从上面购物 ... -
读《微管理——给你一个技术团队,你该怎么管》有感
2014-06-23 17:09 84很多时候,都有一种困惑,作为一个程序猿出身,没有受 ... -
试读《淘宝技术这十年》
2013-06-21 11:24 799偶然间看到这本书,吸引我眼球的是淘宝技术几个字,顿时充满 ... -
Java正则表达式的解释说明
2010-02-03 17:49 1828Java正则表达式的解释说明 表达式意义: 1.字符 ... -
java 运算符
2009-12-31 11:39 1548在算术运算符部分,需 ... -
java中byte转换int时为何与0xff进行与运算
2009-12-31 09:57 2042在剖析该问题前请看如 ... -
替换^M字符
2009-11-30 12:36 2354替换^M字符 最近经常在LINUX下C编程,使用vi来查看一些 ... -
浏览器前进后退时表单状态的保持
2009-11-29 14:42 3225相关文章: 向你推荐 ... -
关于ORACLE时间格式的讨论
2009-10-15 16:30 4926在网上看见不少oracle新 ... -
总结Struts,Hibernate,Spring框架
2009-06-29 21:47 1203Hibernate工作原理及为什 ... -
怎样在Eclipse中使用debug调试程序
2009-06-29 21:47 1427最基本的操作是: 1, 首先在一个java文件中设断点,然后运 ... -
JAVA字符集
2009-03-02 09:54 10821. 概述 本文主要包括 ... -
计算机中数的表示
2008-06-19 11:32 2194(一)二进制 电子计算机 ... -
JAVA中的转义字符
2008-06-19 11:06 16584JAVA中转义字符: 1.八进制转义序列:\ + 1到3位5 ... -
Tomcat安全域设置大全
2006-05-09 13:32 2104安全域是tomcat内置的功 ... -
JS的正则表达式
2006-05-09 13:30 1505JS的正则表达式 //校验是否全由数字组成 function ...
相关推荐
Apache+Tomcat+Linux集群和均衡负载(Session同步复制
使用 apache 和 tomcat 配置一个...2、 为系统设定 Session 超时时间,包括 Apache 和 tomcat 3、 为系统屏蔽文件列表,包括 Apache 和 tomcat 注:本例程以一台机器为例子,即同一台机器上装一个apache和4个Tomcat。
无意间看到tomcat 6集群的内容,就尝试配置了一下,还是遇到很多问题,特此记录。apache服务器和tomcat的连接方法其实有三种:JK、http_proxy和ajp_proxy。本文主要介绍最为常见的JK。 环境:PC2台:pc1(IP 192.168....
NULL 博文链接:https://xueweiabcok.iteye.com/blog/1841448
tomcat+apache实现集群/负载均衡,只配置负载均衡还不行,还要session复制,也就是说其中任何一个tomcat的添加的session,是要同步复制到其它tomcat, 集群内的tomcat都有相同的session1. 修改tomcat1, tomcat2的...
而实际情况下,采取Apache 加Tomcat进行负载均衡集群的时候,是可以不用将Session复制到所有的节点里, 比如有六个Tomcat实例 Tomcat1,Tomcat2,Tomcat3,Tomcat4,Tomcat5,Tomcat6 是可以配置成 三组互相复制...
3集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性与可用性的服务平台。在客户端看来,一个集群就象是一个...欢迎下载:Apache Tomcat负载均衡及Session绑定的实现.doc,共10页,3千多字,图文教程!
配置apache+tomcat负载均衡和session复制,并且解决了tomcat报2009-6-5 10:10:12 org.apache.jk.common.ChannelSocket processConnection 警告: processCallbacks status 2 的问题
apache server2.2 + tomcat7.0 服务器集群负载均衡+session共享 包括配套的软件和详细的配置文档。
linux 下实现apache+tomcat集群及session复制
apache、tomcat集群和负载均衡配置、集群配置、负载均衡、session复制
公司花钱买的apache + tomcat 集群+session复制解决方案。 感觉对一些网站建设比较有用,但不太符合我们的产品
Tomcat和Apache集群和负载均衡配置 Tomcat版本:apache-tomcat-7.0.26 Apache版本:Apache2.2.25 jre版本:1.6.0_26 集群和负载均衡配置已整好,解压后,只要点击run.bat一键启动,即可看到集群效果。 运行成功后,...
NULL 博文链接:https://canofy.iteye.com/blog/684805
内附完整配置教程和修改后的apache的httpd.conf文件和tomcat的server.xml配置文件,包含test测试项目,不包含apache和tomcat安装文件。 本教程参考网上资料,本机测试成功,如有问题可以私信说明。
NULL 博文链接:https://yulinyyb001.iteye.com/blog/1308609
Apche2.2.17 与Tomcat6.0.20进行集群与负载均衡配置,并实现session共享功能
NULL 博文链接:https://ywu.iteye.com/blog/2247441
最新apache+tomcat集群,session设置等配置说明