`
115893520
  • 浏览: 142682 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Apache 2.2.x+Tomcat6集群配置备忘

阅读更多

在我们部署Web应用时,不可避免大多都会涉及到集群问题,此文作为Apache 2.2.x+Tomcat6配置集群的备忘。

  1. 配置Tomcat6 的conf\server.xml文件,启用集群设置,如果在本地同时运行多个Tomcat进行测试的话,需要修改部分端口号,以避免冲突
    1. 打开AJP:<Connector port="9009" protocol="AJP/1.3" redirectPort="9443" />
    2. 打开集群:
Xml代码 复制代码
  1.    <Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm2">    
  2.   
  3.      <!--For clustering, please take a look at documentation at:   
  4.          /docs/cluster-howto.html  (simple how to)   
  5.          /docs/config/cluster.html (reference documentation) -->  
  6.         
  7.        
  8. <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"  channelSendOptions="6">       
  9.     <Manager className="org.apache.catalina.ha.session.BackupManager"       
  10.     expireSessionsOnShutdown="false"       
  11.     notifyListenersOnReplication="true"       
  12.     mapSendOptions="6"/>       
  13.     <!--       
  14.     <Manager className="org.apache.catalina.ha.session.DeltaManager"       
  15.     expireSessionsOnShutdown="false"       
  16.     notifyListenersOnReplication="true"/>       
  17.     -->       
  18.     <Channel className="org.apache.catalina.tribes.group.GroupChannel">       
  19.     <Membership className="org.apache.catalina.tribes.membership.McastService"       
  20.     address="228.0.0.4"       
  21.     port="45564"       
  22.     frequency="500"       
  23.     dropTime="3000"/>       
  24.     <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"       
  25.     address="auto"       
  26.     port="5001"       
  27.     selectorTimeout="100"       
  28.     maxThreads="6"/>       
  29.     <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">       
  30.     <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>       
  31.     </Sender>       
  32.     <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>       
  33.     <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>       
  34.     <Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/>       
  35.     </Channel>       
  36.     <Valve className="org.apache.catalina.ha.tcp.ReplicationValve"       
  37.     filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/>       
  38.     <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"       
  39.     tempDir="/tmp/war-temp/"       
  40.     deployDir="/tmp/war-deploy/"       
  41.     watchDir="/tmp/war-listen/"       
  42.     watchEnabled="false"/>       
  43.     <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>       
  44. </Cluster>  
  45.   
  46.   
  47.           
  48.   
  49.      <!-- The request dumper valve dumps useful debugging information about   
  50.           the request and response data received and sent by Tomcat.   
  51.           Documentation at: /docs/config/valve.html -->  
  52.      <!--  
  53.      <Valve className="org.apache.catalina.valves.RequestDumperValve"/>  
  54.      -->  
  55.   
  56.      <!-- This Realm uses the UserDatabase configured in the global JNDI   
  57.           resources under the key "UserDatabase".  Any edits   
  58.           that are performed against this UserDatabase are immediately   
  59.           available for use by the Realm.  -->  
  60.      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"  
  61.             resourceName="UserDatabase"/>  
  62.   
  63.      <!-- Define the default virtual host   
  64.           Note: XML Schema validation will not work with Xerces 2.2.   
  65.       -->  
  66.      <Host name="localhost"  appBase="webapps"  
  67.            unpackWARs="true" autoDeploy="true"  
  68.            xmlValidation="false" xmlNamespaceAware="false">  
  69.   
  70.        <!-- SingleSignOn valve, share authentication between web applications   
  71.             Documentation at: /docs/config/valve.html -->  
  72.        <!--  
  73.        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />  
  74.        -->  
  75.   
  76.        <!-- Access log processes all example.   
  77.             Documentation at: /docs/config/valve.html -->  
  78.        <!--   
  79.        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"     
  80.               prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>  
  81.        -->  
  82.   
  83.      </Host>  
  84.    </Engine>  
    <Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm2"> 

      <!--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="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;"/>    
		<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>


        

      <!-- The request dumper valve dumps useful debugging information about
           the request and response data received and sent by Tomcat.
           Documentation at: /docs/config/valve.html -->
      <!--
      <Valve className="org.apache.catalina.valves.RequestDumperValve"/>
      -->

      <!-- This Realm uses the UserDatabase configured in the global JNDI
           resources under the key "UserDatabase".  Any edits
           that are performed against this UserDatabase are immediately
           available for use by the Realm.  -->
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
             resourceName="UserDatabase"/>

      <!-- Define the default virtual host
           Note: XML Schema validation will not work with Xerces 2.2.
       -->
      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"  
               prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
        -->

      </Host>
    </Engine>

2.打开Apache下的conf\httpd.conf文件,打开注释:

Html代码 复制代码
  1. LoadModule proxy_module modules/mod_proxy.so   
  2. LoadModule proxy_ajp_module modules/mod_proxy_ajp.so   
  3. LoadModule proxy_balancer_module modules/mod_proxy_balancer.so   
  4. LoadModule proxy_connect_module modules/mod_proxy_connect.so   
  5. LoadModule proxy_ftp_module modules/mod_proxy_ftp.so   
  6. 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

 

在文件末尾添加:

Html代码 复制代码
  1. ProxyRequests Off      
  2. <Proxy balancer://cluster>       
  3.     BalancerMember ajp://localhost:8009 loadfactor=1 route=jvm1  
  4.     BalancerMember ajp://localhost:9009 loadfactor=1 route=jvm2  
  5. </Proxy>   
ProxyRequests Off   
<Proxy balancer://cluster>    
	BalancerMember ajp://localhost:8009 loadfactor=1 route=jvm1
	BalancerMember ajp://localhost:9009 loadfactor=1 route=jvm2
</Proxy> 

配置VirtualHost:

Xml代码 复制代码
  1. <VirtualHost *:80>      
  2.          ServerAdmin test@126.com      
  3.          ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On      
  4.          ProxyPassReverse / balancer://cluster/    
  5.          ServerName www.mytest.com   
  6.          ServerAlias mytest.com     
  7. </VirtualHost>   
<VirtualHost *:80>   
         ServerAdmin test@126.com   
         ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On   
         ProxyPassReverse / balancer://cluster/ 
         ServerName www.mytest.com
         ServerAlias mytest.com  
</VirtualHost> 

 

在应用程序的web.xml结尾加入:

Html代码 复制代码
  1. <distributable/>  
分享到:
评论

相关推荐

    Linux下安装配置 Apache2.2.x+MySql5.x+PHP5.x 详解

    Linux 下安装配置 Apache2.2.x+MySql5.x+PHP5.x 详解 本篇文章详细介绍了在 Linux 操作系统下安装和配置 Apache2.2.x、MySql5.x 和 PHP5.x 的步骤,使用的操作系统为 Redhat AS5,内核版本为 Linux 2.6.18-8.el5,...

    Apache2.2.x+Tomcat6.x+jk2.x做集群配置

    Apache2.2.x + Tomcat6.x + jk2.x 集群配置教程 在互联网服务中,为了提供高可用性和负载均衡,通常会采用集群技术。Apache HTTP Server(通常简称为Apache)与Tomcat的结合是常见的Web服务器与应用服务器组合。...

    apache 2.X+tomcat 6.X/7.X集群配置

    Apache 2.X 和 Tomcat 6.X/7.X 集群配置是一个常见的技术实践,用于提高Web应用程序的性能和可扩展性。Apache HTTP Server(通常称为Apache)是一款开源的HTTP服务器,而Tomcat则是一个开源的Java Servlet容器,主要...

    apache2.2+tomcat6集群配置

    Apache2.2与Tomcat6集群配置是一种常见的Web服务架构,用于提高网站的可用性和可扩展性。在Windows环境下,这种配置可以实现负载均衡,确保即使单个服务器出现故障,整个系统仍然能继续运行,同时分散请求以降低单一...

    配合apache(2.2.x)+openssl(0.9.6->1.0.1升级)过程博文环境搭建的资源

    这些资源是配合apache(2.2.x)+openssl(0.9.6-&gt;1.0.1升级)过程博文环境搭建中所需要的资源,不是太好找,所以都传上来,主要有: 1.升级opensslV1.0.1b单独用到的三个文件:libeay32.dll,openssl.exe,ssleay32.dll ...

    apache2.4+tomcat 7 集群配置

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

    mod_python-3.3.1.win32-py2.5-Apache2.2.exe

    本文将深入探讨"mod_python-3.3.1.win32-py2.5-Apache2.2.exe"这个软件包,以及如何在Windows系统上配置Apache2.2和Python2.5来利用mod_python进行Web开发。 一、mod_python简介 mod_python是Apache的一个模块,它...

    Apache2.2+Tomcat5.5整合配置教程

    Apache2.2与Tomcat5.5的整合配置是一个常见的任务,特别是在那些希望利用Apache作为前端服务器处理静态内容,而将动态请求转发给Tomcat处理的环境中。这种配置可以提高服务器性能并优化资源分配。 首先,我们需要...

    支持apache2.2.x版本的iasp模块源文件

    源文件的标题表明这适用于 Apache 2.2.x 版本,这是一个稳定且广泛使用的 Apache 版本。 **ASP 技术简介** ASP 是一种由微软开发的服务器端脚本环境,用于生成动态网页内容。它允许开发者使用 VBScript 或 JScript ...

    Windows下安装Apache2.2.x

    ### Windows下安装Apache2.2.x的关键知识点 #### 一、软件准备 - **下载地址**:Apache2.2.x的官方下载地址为 [apache_2.2.4-win32-x86-no_ssl.msi]...

    tomcat-jdbc数据源所需jar包tomcat-jdbc.jar+tomcat-juli.jar

    Juli是Tomcat的一个日志框架,全称为Apache Tomcat Utility for Logging Interface。这个jar文件包含了一些日志相关的类和接口,用于支持自定义的日志处理。在使用Tomcat-jdbc数据源时,如果需要对数据库操作进行...

    Windows下Apache2.2 + Tomcat5.5 + Apr配置备忘录

    总结来说,配置Apache2.2 + Tomcat5.5 + Apr涉及的主要步骤包括安装Cygwin环境,编译Apache和Apr,配置Apache和Tomcat的集成,以及最后的启动和测试。这个过程需要对Linux命令行工具和Web服务器的配置有一定了解,但...

    Apache+Tomcat服务器集群配置详细步骤

    ### Apache+Tomcat服务器集群配置详细步骤 #### 一、引言 在现代Web开发中,随着业务规模的不断扩大和用户需求的日益增长,单一服务器往往难以满足高性能、高可靠性的要求。为了应对这一挑战,通常采用Apache+...

    Apache2.2+Tomcat6 配置

    在IT行业中,集成Apache2.2与Tomcat6是一个常见的任务,这主要涉及到Web服务器与应用服务器的联合部署,以实现动态和静态内容的高效分发。Apache2.2是一个强大的HTTP服务器,常用于处理静态内容,而Tomcat6则是一个...

    mod_jk(包含apache2.4.x和apache2.2.x的两种版本)

    **Apache mod_jk模块详解与Tomcat集群配置** Apache mod_jk是Apache HTTP服务器的一个模块,主要用于连接Apache和Tomcat,实现两者之间的通信。在Java应用服务器领域,Tomcat广泛用作Servlet和JSP容器,而Apache则...

    Tomcat集群软件(Apache-2.2.17-win32-x86-no_ssl.msi+tomcat6.3)

    Tomcat配置集群(Apache-2.2.17-win32-x86-no_ssl.msi+tomcat6.3) 参见博客:http://blog.csdn.net/u013614451/article/details/35991383

Global site tag (gtag.js) - Google Analytics