=w=

tomcat集群搭建

上一篇 / 下一篇  2009-11-19 11:56:57 / 个人分类:tomcat

1.首先安装Apache,启动Apache后打开浏览器访问http://localhost验证安装是否成功,打开Apache\conf目录下的httpd.conf文件,可以修改端口(默认为80)
2.下载mod-jk(我用的是mod_jk-1.2.26-httpd-2.2.4.so)将文件拷贝到Apache\modules目录下,在httpd.conf文件的末尾增加:
  # 加载 mod_jk 模块  
  LoadModule jk_module modules/mod_jk-1.2.26-httpd-2.2.4.so  
  # Static files in the examples webapp are served by apache
  Alias / /webapps/     
  # Declare the module for
  #AddModule mod_jk.c
  # mod_jk的配置文件
  JkWorkersFile conf/workers.properties  
  # 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"
  # 由loadbalancer来处理请求
  JkMount   /*   loadbalancer

3. 在Apache\conf目录中新建mod-jk配置文件workers.properties内容:
 
  ps=\     #指定分割符
  worker.list=worker1,worker2,loadbalancer     
  worker.worker1.port=8009      
  worker.worker1.host=127.0.0.1     
  worker.worker1.type=ajp13   
  worker.worker1.lbfactor=100    
   
  worker.worker2.port=8209    
  worker.worker2.host=127.0.0.1     
  worker.worker2.type=ajp13      
  worker.worker2.lbfactor=100  
   
  worker.loadbalancer.type=lb    #负载均衡模式
  worker.loadbalancer.balanced_workers=worker1,worker2  #由loadbalancer管理两个tomcat服务
4.修改两个tomcat的配置文件
  如果两个tomcat安装在不同的机器上则某些地方不必修改,这里以安装在同一个机器上的两个tomcat负载均衡为例。
  编辑tomcat/conf目录下的server.xml文件,分别修改两个配置文件:
  1> <Server port="8005" shutdown="SHUTDOWN"> 将端口号区别开
  2> <Connector port="8090" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />  将port号区别开
  3> <Connector port="8209" protocol="AJP/1.3" redirectPort="8443" /> 将port号区别开
  4> <!-- You should set jvmRoute to support load-balancing via AJP ie :-->
     <Engine name="Standalone" defaultHost="localhost" jvmRoute="worker2">        
     <!--<Engine name="Catalina" defaultHost="localhost">-->  将support load-balancing via AJP打开,修改jvmRoute分别等于
workers.properties里面的两个worker

5.开启Session复制
  在server.xml文件中找到<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="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;"/>
<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.ClusterSessionListener"/>
</Cluster>
 注意多个Tomcat配置中,port="5001"端口必须是不重复的,之后只需要在工程的web.xml中制定集群方式就可以了


  修改完成后启动tomcat,看到类似信息:
  Starting Coyote HTTP/1.1 on http-8090
  2008-8-6 13:52:59 org.apache.jk.common.ChannelSocket init
  信息: JK: ajp13 listening on /0.0.0.0:8209
  2008-8-6 13:52:59 org.apache.jk.server.JkMain start
  信息: Jk running ID=0 time=0/47  config=null
  说明tomcat启动成功。此时启动apache,查看Apache\logs中的日志文件,如果没有错误说明环境搭建完毕

压缩css html
修改httpd.conf
打开2个注释(deflate_module,headers_module)
添加

DeflateCompressionLevel 9
<Location />
AddOutputFilterByType DEFLATE text/html text/plain text/javascript. text/css
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
Header append Vary User-Agent env=!dont-vary
</Location>


TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-05-15  
   1234
567891011
12131415161718
19202122232425
262728293031 

我的存档

数据统计

  • 访问量: 2278
  • 日志数: 4
  • 建立时间: 2009-11-17
  • 更新时间: 2009-11-19

RSS订阅

Open Toolbar