`
nlslzf
  • 浏览: 1044797 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Apache5.5+Tomcat6.0 集群操作手册

阅读更多
http://c-j.iteye.com/blog/364503


1、下载和安装。
下载安装apache2.2.3,tomcat6.0.(注意设置环境变量)
2、配置Apache
修改Apache安装目录下conf/httpd.conf文件.

#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_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_http_module modules/mod_proxy_http.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_connect_module modules/mod_proxy_connect.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
填加以下内容(注意此配置是在1台PC开多TOMCAT进程,并注意注释的格式):
# ProxyRequests Off
#
ProxyPass / balancer://tomcatcluster/ lbmethod=byrequests stickysession=JSESSIONID  nofailover=Off  timeout=3  maxattempts=3
###################################################################
#
# IBmethod:
# Balancer load-balance method. Select the load-balancing scheduler method to use. Either byrequests, to perform weighted request counting or bytraffic, to  perform weighted traffic byte #count balancing. Default is byrequests.
#
# stickysession:
# Balancer sticky session name. The value is usually set to something like JSESSIONID or #PHPSESSIONID, and it depends on the backend application server that # support sessions.
#
# nofailover:
# If set to On the session will break if the worker is in error state or disabled. Set this value #to On if backend servers do not support session
# replication. 
#
# timeout:
# Balancer timeout in seconds. If set this will be the maximum time to wait for a free worker. #Default is not to wait.
#
# maxattempts:
# Maximum number of failover attempts before giving up.
####################################################################################

ProxyPassReverse / balancer://tomcatcluster/  
 
<Proxy balancer://tomcatcluster> 
BalancerMember ajp://localhost:8109 smax=10 route=jvm1
BalancerMember ajp://localhost:8209 smax=10 route=jvm2
BalancerMember ajp://localhost:8309 smax=10 route=jvm3
BalancerMember ajp://localhost:8409 smax=10 route=jvm4
BalancerMember ajp://localhost:8509 smax=10 route=jvm5
</Proxy>
# smax:
# Upto the Soft Maximum number of connections will be created on demand. Any connections above smax are subject to a time to live or ttl.
# route:
# Route of the worker when used inside load balancer. The route is a value appended to seesion id.
注意端口号和TOMCAT配置保持一致,并避免冲突,否则启动TOMCAT将失败.
3、配置Tomcat
安装多个TOMCAT(ZIP版本,不要安装"安装版本")

修改TOMCAT安装目录下conf/server.xml
如修改tomcat_1配置
修改:
<Server port="8105" shutdown="SHUTDOWN">
修改:
<Connectorport="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8143" />
修改:
<Connectorport="8109" protocol="AJP/1.3" redirectPort="8143" />
   修改:
<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">

修改另外几个tomcat文件,并避免端口冲突.如果多个TOMCAT安装在多个服务器则只要注意IP地址的正确.
4、保持Session同步
在TOMCAT安装目录conf/server.xml下的
<Engine>... </Engine>标签下填加如下内容:
- <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="4">
  <ManagerclassName="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true" />
- <!--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"/>
        -->
- <Channel className="org.apache.catalina.tribes.group.GroupChannel">
  <MembershipclassName="org.apache.catalina.tribes.membership.McastService" address="228.0.0.4" port="45564" frequency="500" dropTime="3000" />
  <ReceiverclassName="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">
  <TransportclassName="org.apache.catalina.tribes.transport.nio.PooledParallelSender" />
  </Sender>
  <InterceptorclassName="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector" />
  <InterceptorclassName="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor" />
  </Channel>
  <ValveclassName="org.apache.catalina.ha.tcp.ReplicationValve" filter="" />
  <ValveclassName="org.apache.catalina.ha.session.JvmRouteBinderValve" />
  <DeployerclassName="org.apache.catalina.ha.deploy.FarmWarDeployer" tempDir="/tmp/war-temp/" deployDir="/tmp/war-deploy/" watchDir="/tmp/war-listen/" watchEnabled="false" />
  <ClusterListenerclassName="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener" />
  <ClusterListenerclassName="org.apache.catalina.ha.session.ClusterSessionListener" />
  </Cluster>
#注意port="4001" 是否与其他TOMCAT进程冲突.
配置详细解释见文档"Clustering-Session Replication HOW-TO.htm"
5、修改WEB项目Web.xml
在工程项目中修改web.xml;
填加如下标签:
<distributable/>

6、Testing
打开浏览器,写一个简单的JSP,测试
http://localhost/mytest/index.jsp
http://localhost/mytest:8109/index.jsp
http://localhost/mytest:8209/index.jsp
http://localhost/mytest:8309/index.jsp
http://localhost/mytest:8409/index.jsp
http://localhost/mytest:8509/index.jsp
7、QA
   问:如何配置多个服务器?
   答:修改Apache 下httpd.conf文件;

<Proxy balancer://tomcatcluster> 
BalancerMember ajp://localhost:8109 smax=10 route=jvm1
BalancerMember ajp://localhost:8209 smax=10 route=jvm2
BalancerMember ajp://localhost:8309 smax=10 route=jvm3
BalancerMember ajp://localhost:8409 smax=10 route=jvm4
BalancerMember ajp://localhost:8509 smax=10 route=jvm5
</Proxy>
中的localhost改成内部服务器IP地址就OK了.
   
问:为什么启动多个TOMCAT进程失败?
答:注意配置的TOMCAT服务各个端口是否有冲突.

问:为什么session不能保持一致?
答:需要注意以下几点:
All your session attributes must implement java.io.Serializable
If you have defined custom cluster valves, make sure you have the ReplicationValve defined as well under the Cluster element in server.xml
If your Tomcat instances are running on the same machine, make sure the tcpListenPort attribute is unique for each instance, in most cases Tomcat is smart enough to resolve this on it's own by autodetecting available ports in the range 4000-4100
Make sure your web.xml has the <distributable/> element or set at your <Context distributable="true" />
Make sure that all nodes have the same time and sync with NTP service!
Make sure that your loadbalancer is configured for sticky session mode.
分享到:
评论
1 楼 xiejin2008 2009-12-14  
楼主,我tomcat5可以实现集群,和session的复制,但是tomcat6就不能实现session的复制,可以到负载均衡的效果.
帮个忙

相关推荐

    tomcat5.5 + tomcat 6.0

    标题中的“tomcat5.5 + tomcat 6.0”指的是Apache Tomcat服务器的两个不同版本。Tomcat是一款开源的Java Servlet容器,主要用于运行Java Web应用程序,包括JSP和Servlet。这两个版本分别代表了Tomcat在不同时间点的...

    apache2.4+tomcat 7 集群配置

    直接下载, 即可用 apache2.4+tomcat 7 集群配置

    Apache 2.2 + Tomcat 6.0 + MySQL 5.0 + mod_jk 整合

    ### Apache 2.2 + Tomcat 6.0 + MySQL 5.0 + mod_jk 整合 本文旨在深入探讨如何将Apache 2.2、Tomcat 6.0、MySQL 5.0以及mod_jk进行有效的整合,以构建一个高性能、可扩展的应用服务器环境。这种整合方式不仅能够...

    iis6.0+tomcat6.0整合资源

    Tomcat6.0是一款遵循Apache Software Foundation的Jakarta项目下的Servlet和JavaServer Pages (JSP) 规范的应用服务器,主要处理Java Web应用程序。它轻量级、高效且开源,是许多开发者的首选。 3. **整合背景** ...

    Apache2.2+tomcat6.0搭建负载均衡服务器

    Apache2.2与Tomcat6.0的组合可以构建一个高效、可靠的负载均衡服务器系统,以分散客户端请求到多个后端应用服务器,提高整体服务的可用性和响应速度。以下是搭建和配置的关键步骤及知识点: 1. **Apache2.2安装配置...

    apache 2.2.15 +tomcat 6.0 同一台机器集群

    本教程将探讨如何在一台机器上配置Apache 2.2.15与Tomcat 6.0的集群,以实现负载均衡和提高服务的可用性。 首先,Apache 2.2.15是Apache HTTP Server的一个版本,它提供了强大的静态内容处理能力和与其他服务器的...

    apache2.2+tomcat6.0.doc

    Apache2.2与Tomcat6.0的组合可以创建一个高效能、高可用性的Web服务器环境,通过负载均衡技术,可以有效地分散用户请求到多个Tomcat实例,从而提高系统的响应速度和整体性能。以下是关于这个配置的详细知识讲解: 1...

    两台服务器上做Apache2.2+Tomcat6.0+mod_jk的负载均衡

    "两台服务器上做Apache2.2+Tomcat6.0+mod_jk的负载均衡"是一个典型的分布式系统架构,旨在通过在多台服务器之间分配工作负载来提高系统的稳定性和性能。下面将详细介绍这个配置涉及的知识点: 1. **Apache ...

    MyEclipse_5.5+tomcat-6.0+最快捷汉化搭建系统开发平台

    ### MyEclipse 5.5 + Tomcat 6.0 + 最快捷汉化搭建系统开发平台 #### 一、概述 随着Java技术的发展,越来越多的企业和个人开发者选择使用集成开发环境(IDE)来提高开发效率。MyEclipse作为一款功能强大的Java EE...

    apache2.2.4+tomcat6.0整合配置

    Apache 2.2.4 和 Tomcat 6.0 的整合配置是一项常见的任务,尤其在部署Java Web应用程序时。这两个组件分别作为Web服务器和应用服务器,通过特定的方式协同工作,以提供动态内容服务。这里我们将深入探讨这个整合过程...

    myeclipse6.5+flex 3 + tomcat6.0 + ds-console.war环境搭建

    在本文中,我们将深入探讨如何搭建一个基于MyEclipse 6.5、Flex 3、Tomcat 6.0和ds-console.war的开发环境。这个环境主要用于开发和部署使用Flex前端与Java后端交互的应用程序,特别是通过LCDS(LiveCycle Data ...

    Apache2.4+Tomcat8.0集群安装--测试项目

    Apache2.4+Tomcat8.0集群安装--测试项目。集群配置地址为:

    tomcat5.5和tomcat6.0解压版

    在这个解压版中,包含了Tomcat的两个不同版本:Tomcat 5.5和Tomcat 6.0。 Tomcat 5.5是在2005年发布的,它是Tomcat的一个重要版本,引入了许多新特性和改进。其中,最重要的是对Servlet 2.4和JSP 2.0规范的支持,这...

    apache2.4+tomcat7集群

    Apache 2.4 和 Tomcat 7 集群配置是一种常见的Web服务器和应用服务器部署方式,用于提高网站和应用程序的可伸缩性和高可用性。在Windows 7环境下搭建这样的集群,我们可以实现负载均衡、故障转移等功能,以确保服务...

    apache2.2+tomcat6.0负载均衡配置软件

    在Apache和Tomcat的场景中,Apache作为前端代理服务器,接收来自用户的请求,然后根据预定义的策略将这些请求分发到后端的Tomcat服务器集群。 **Apache HTTP Server配置:** 1. **安装mod_proxy模块**:Apache的...

    tomcat5.5和tomcat6.0

    标题"tomcat5.5和tomcat6.0"指的是Apache Tomcat的两个不同版本,即5.5版和6.0版。Tomcat是一款开源的Java Servlet容器,它实现了Java EE的Web部分,包括Servlet和JSP规范。描述中提到,Tomcat具有技术先进、性能...

    Apache2.2+tomcat6.0配置[归类].pdf

    Apache2.2与Tomcat6.0的集成配置是一个常见的软件开发任务,特别是在构建高性能、高可用性的Web应用服务器环境中。Apache作为静态内容处理的强力HTTP服务器,与Tomcat(一个流行的Java Servlet容器)结合使用,可以...

    XP下配置ApacheWebServer2.2+PHP5.2.9.2+MySql6.0 +Tomcat6.0+ JSP 整合.rar

    在Windows XP操作系统上搭建一个完整的Web开发环境,包括Apache Web Server 2.2、PHP 5.2.9.2、MySQL 6.0、Tomcat 6.0以及JSP整合,是一个常见的需求,特别是在进行多语言动态网站开发时。这个压缩包提供了一整套的...

    Flex4.5 + Tomcat6.0 + MyEclipse 9.0+ Java+Blazeds环境配置和使用

    标题与描述均聚焦于“Flex4.5 + Tomcat6.0 + MyEclipse 9.0+ Java+Blazeds环境配置和使用”,这一主题涉及了多种技术栈的集成,包括Flex4.5(FlashBuilder)、Tomcat6.0、MyEclipse 9.0、Java以及Blazeds。...

Global site tag (gtag.js) - Google Analytics