一、环境搭建:
* 准备机器两台:192.168.0.2、192.168.0.3
* 下载apache2.2.9,地址:http://httpd.apache.org/download.cgi
,安装在192.168.0.2的D:\Apache
* 下载apache-tomcat-5.5.26.zip,地址:http://tomcat.apache.org/download-55.cgi
,分别解压到192.168.0.2、192.168.0.3的D:\Tomcat5.5
* 下载mod_jk,在这里找:http://tomcat.apache.org/download-connectors.cgi
,或者直接下载:http://dev.xiaonei.com/apache-mirror/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.26/mod_jk-1.2.26-httpd-2.2.4.so
,拷贝到D:\Apache\modules改名为:mod_jk
二、集群,负载配置:
* 修改D:\Apache\conf\httpd.conf,
修改前:
#Listen 12.34.56.78:80
Listen 80
#
# Dynamic Shared Object (DSO) Support
修改后:
#Listen 12.34.56.78:80
#Listen 80
Listen 192.168.0.2:80
#引入配置文件
Include conf/http-vhosts.conf
Include conf/mod_jk.conf
# add compress start
LoadModule headers_module modules/mod_headers.so
LoadModule deflate_module modules/mod_deflate.so
# add compress end
#
# Dynamic Shared Object (DSO) Support
* 在conf下面新建http-vhosts.conf内容如下:
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin admin@yoursite.com
DocumentRoot "e:/site/apache/www.yoursite.com"
ServerName yoursite.com
ServerAlias www.yoursite.com
ErrorLog "logs/www.yoursite.com-error.log"
CustomLog "logs/www.yoursite.com-access.log" common
# add compress start
<Location "/">
SetOutputFilter DEFLATE
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
Header append Vary User-Agent env=!dont-vary
</Location>
# add compress end
<Directory "e:/site/apache/www.yoursite.com">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important. Please see
# http://httpd.apache.org/docs/2.2/mod/core.html#options
# for more information.
#
Options Indexes FollowSymLinks
#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
# Options FileInfo AuthConfig Limit
#
AllowOverride None
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
* 在conf下新建文件mod_jk.conf,内容如下:
# Load mod_jk module
LoadModule jk_module modules/mod_jk.so
# Where to find workers.properties
JkWorkersFile conf/workers.properties
# Where to put jk shared memory
JkShmFile logs/httpd/mod_jk.shm
# Where to put jk logs
JkLogFile logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T %R"
# All requests go to Tomcat by default
JkMount /* www
# Serve html, jpg and gif etc using Apache
JkUnMount /*.css www
JkUnMount /*.js www
JkUnMount /*.gif www
JkUnMount /*.jpg www
JkUnMount /*.htm www
JkUnMount /*.swf www
JkUnMount /*.xml www
JkUnMount /*.ico www
# png and flv mount to tomcat
#JkUnMount /*.png www
#JkUnMount /*.flv www
* 在conf下新建文件workers.properties,内容如下:
#
# workers.properties
#
# list the workers by name
worker.list=www
worker.maintain=60
# =============================================================================
# ------------------------
# www1 server 0.2
# ------------------------
worker.www1.port=8009
worker.www1.host=192.168.0.2
worker.www1.type=ajp13
worker.www1.socket_timeout=0
worker.www1.socket_keepalive=true
worker.www1.lbfactor=10
# Define preferred failover node for worker1
#worker.www1.redirect=www2
# ------------------------
# www2 server 0.2
# ------------------------
worker.www2.port=9009
worker.www2.host=192.168.0.2
worker.www2.type=ajp13
worker.www2.socket_timeout=0
worker.www2.socket_keepalive=true
worker.www2.lbfactor=10
#Disable worker2 for all requests except failover
#worker.worker2.activation=disabled
# ------------------------
# Load Balancer worker
# ------------------------
worker.www.type=lb
#worker.www.balance_workers=www2
worker.www.balance_workers=www1,www2
worker.www.sticky_session=true
#worker.www.method=Traffic
# ----------------------
#
#-----------------------
# Add the status worker to the worker list
#worker.list=jkstatus
# Define a 'jkstatus' worker using status
#worker.jkstatus.type=status
# Add the jkstatus mount point
#JkMount /jkmanager/* jkstatus
# ===========================================================================
#
# END workers.properties
#
三、session复制:参见[Tomcat 5集群中的SESSION复制|Tomcat 5集群中的SESSION复制详解],方法如下:
* 在每个工程的web.xml中</web-app>前面加上一行:<distributable/>(不要忘记了)
* 在tomcat配置文件的conf下的server.xml中去掉注释,如下:
<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"
managerClassName="org.apache.catalina.cluster.session.DeltaManager"
expireSessionsOnShutdown="false"
useDirtyFlag="true"
notifyListenersOnReplication="true">
<Membership
className="org.apache.catalina.cluster.mcast.McastService"
mcastAddr="228.0.0.4"
mcastPort="45564"
mcastFrequency="500"
mcastDropTime="3000"/>
<Receiver
className="org.apache.catalina.cluster.tcp.ReplicationListener"
tcpListenAddress="auto"
tcpListenPort="4002"
tcpSelectorTimeout="100"
tcpThreadCount="6"/>
<Sender
className="org.apache.catalina.cluster.tcp.ReplicationTransmitter"
replicationMode="pooled"
ackTimeout="15000"/>
<Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"
filter=".*\.gif;.*\.js;.*\.jpg;.*\.htm;.*\.html;.*\.txt;"/>
<Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer"
tempDir="/tmp/war-temp/"
deployDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/>
</Cluster>
* 下面是成功的正常的反应(关闭另一个tomcat,开始另一个tomcat):
现在你可是感受一下成果,session被复制到每个tomcat例程,即使例程当机,只要还剩下一个例程,用户就感觉不到任何异常。
- 大小: 26.5 KB
分享到:
相关推荐
3集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性与可用性的服务平台。在客户端看来,一个集群就象是一个...欢迎下载:Apache Tomcat负载均衡及Session绑定的实现.doc,共10页,3千多字,图文教程!
NULL 博文链接:https://xueweiabcok.iteye.com/blog/1841448
Apache+Tomcat+Linux集群和均衡负载(Session同步复制
apache server2.2 + tomcat7.0 服务器集群负载均衡+session共享 包括配套的软件和详细的配置文档。
Tomcat和Apache集群和负载均衡配置 Tomcat版本:apache-tomcat-7.0.26 Apache版本:Apache2.2.25 jre版本:1.6.0_26 集群和负载均衡配置已整好,解压后,只要点击run.bat一键启动,即可看到集群效果。 运行成功后,...
配置apache+tomcat负载均衡和session复制,并且解决了tomcat报2009-6-5 10:10:12 org.apache.jk.common.ChannelSocket processConnection 警告: processCallbacks status 2 的问题
tomcat+apache实现集群/负载均衡,只配置负载均衡还不行,还要session复制,也就是说其中任何一个tomcat的添加的session,是要同步复制到其它tomcat, 集群内的tomcat都有相同的session1. 修改tomcat1, tomcat2的...
apache、tomcat集群和负载均衡配置、集群配置、负载均衡、session复制
内附完整配置教程和修改后的apache的httpd.conf文件和tomcat的server.xml配置文件,包含test测试项目,不包含apache和tomcat安装文件。 本教程参考网上资料,本机测试成功,如有问题可以私信说明。
无意间看到tomcat 6集群的内容,就尝试配置了一下,还是遇到很多问题,特此记录。apache服务器和tomcat的连接方法其实有三种:JK、http_proxy和ajp_proxy。本文主要介绍最为常见的JK。 环境:PC2台:pc1(IP 192.168....
NULL 博文链接:https://ywu.iteye.com/blog/2247441
apache2_2_11+tomcat2_0_18负载均衡,session同步 详细配置步骤 涉及到的工具 版本说明 等
NULL 博文链接:https://enet-java.iteye.com/blog/339922
NULL 博文链接:https://canofy.iteye.com/blog/684805
最新apache+tomcat集群,session设置等配置说明
tomcat集群session共享
linux 下实现apache+tomcat集群及session复制
公司花钱买的apache + tomcat 集群+session复制解决方案。 感觉对一些网站建设比较有用,但不太符合我们的产品
1、 Apache 做为 HttpServer ,后面连接多个 tomcat 应用实例,并进行负载均衡。 2、 为系统设定 Session 超时时间,包括 Apache 和 tomcat 3、 为系统屏蔽文件列表,包括 Apache 和 tomcat 注:本例程以一台机器...
而实际情况下,采取Apache 加Tomcat进行负载均衡集群的时候,是可以不用将Session复制到所有的节点里, 比如有六个Tomcat实例 Tomcat1,Tomcat2,Tomcat3,Tomcat4,Tomcat5,Tomcat6 是可以配置成 三组互相复制...