`

Tomcat LoadBalance And Cluster

    博客分类:
  • J2EE
阅读更多

1. 下载软件:

1.1 web http server: httpd-2.2.15-win32-x86-no_ssl.msi
下载地址: http://archive.apache.org/dist/httpd/binaries/win32/httpd-2.2.15-win32-x86-no_ssl.msi
其它各个版本:http://archive.apache.org/dist/httpd/binaries/win32/

1.2 tomcat:apache-tomcat-6.0.26.zip
下载地址:http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.26/bin/apache-tomcat-6.0.26.zip
其它各个版本:http://archive.apache.org/dist/tomcat/

 

2. 安装软件

    安装httpd-2.2.15-win32-x86-no_ssl.msi ,

    我的目录是:D:\LoadBalance\apache\Apache2.2


 

   apache-tomcat-6.0.26.zip 解压即可


 

3. 配置

3.1. 配置apache server 找到D:\LoadBalance\apache\Apache2.2\conf\httpd.conf 配置文件:

a. 简单的把下面几行去掉注释,就相当于以前用mod_jk.so比较繁琐的配置了。这里 主要采用了代理的方法,就这么简单。
LoadModule proxy_module modules/mod_proxy.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_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

 

b. 再找到<IfModule dir_module></IfModule>加上index.jsp修改成如下:
<IfModule dir_module>
DirectoryIndex index.html index.jsp
</IfModule>

 

c. 在最下面加入

# new add config===========================================================
ProxyRequests Off
<proxy balancer://cluster>
    BalancerMember ajp://127.0.0.1:8019 loadfactor=1 route=jvm1
    BalancerMember ajp://127.0.0.1:8029 loadfactor=1 route=jvm2
    BalancerMember ajp://127.0.0.1:8039 loadfactor=1 route=jvm3
    BalancerMember ajp://127.0.0.1:8049 loadfactor=1 route=jvm4
    BalancerMember ajp://127.0.0.1:8059 loadfactor=1 route=jvm5
</proxy>

 

 

3.2. 找到D:\LoadBalance\apache\Apache2.2\conf\extra\httpd-vhosts.conf 配置文件:

先删掉以下配置:

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.localhost
    DocumentRoot "D:/LoadBalance/apache/Apache2.2/docs/dummy-host.localhost"
    ServerName dummy-host.localhost
    ServerAlias www.dummy-host.localhost
    ErrorLog "logs/dummy-host.localhost-error.log"
    CustomLog "logs/dummy-host.localhost-access.log" common
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.localhost
    DocumentRoot "D:/LoadBalance/apache/Apache2.2/docs/dummy-host2.localhost"
    ServerName dummy-host2.localhost
    ErrorLog "logs/dummy-host2.localhost-error.log"
    CustomLog "logs/dummy-host2.localhost-access.log" common
</VirtualHost>

 

重新添加以下内容:

# new add config ==================================================================
<VirtualHost *:80>
    ServerAdmin qhy@gmail.com
    ServerName localhost
    ServerAlias localhost
        ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On
        ProxyPassReverse / balancer://cluster/
</VirtualHost>

 

3.3 现在开始配置Tomcat ,找到配置文件 :D:\LoadBalance\tomcat_6_1\conf\server.xml

3.3.1 先修改以下内容:

原内容为:<Server port="8005" shutdown="SHUTDOWN">

修改后为:<Server port="8015" shutdown="SHUTDOWN">

 

-------其它 tomcat 将 port设置为: 8025 ,8035, 8045 , 8055 (对应:tomcat_6_2,tomcat_6_3,tomcat_6_4,tomcat_6_5)

 

3.3.2 修改以下内容:

原内容为:

    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

修改后为:

    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8019" protocol="AJP/1.3" redirectPort="8413" />

 

-------其它 tomcat 将 port 设置为: 8029 ,8039, 8049 , 8059   redirectPort:  8423, 8433 ,8443 , 8453

---------- (对 应:tomcat_6_2,tomcat_6_3,tomcat_6_4,tomcat_6_5)

 

3.3.3 修改以下内容:

先注释掉以下内容:

    <Engine name="Catalina" defaultHost="localhost">

原内容为:

    <!-- You should set jvmRoute to support load-balancing via AJP ie :
    <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">        
    -->

修改后为:

    <!-- You should set jvmRoute to support load-balancing via AJP ie :  -->
    <Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1">

 

----其它tomcat 设置: jvmRoute 为: jvm2, jvm3, jvm4, jvm5 (对 应:tomcat_6_2,tomcat_6_3,tomcat_6_4,tomcat_6_5)

------还记得上面3.1.c 的设置吗?

 

3.3.4 修改以下内容:

原内容为:

      <!--
      <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
      -->

修改后为:

            <Receiver port="9091"/>

            <!--

            ---- 其它tomcat 的 Receiver port 设置: 9092 , 9093 , 9094 , 9095   (对 应:tomcat_6_2,tomcat_6_3,tomcat_6_4,tomcat_6_5)

           --->
            <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"  channelSendOptions="6">
                <Manager className="org.apache.catalina.ha.session.BackupManager" expireSessionsOnShutdown="false" notifyListenersOnReplication="true" mapSendOptions="6"/>
                <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_6_2,3,4,5 怎样配置,你应该知道了吧?

 

4. 测试

4.1 现在可以将 test.war 分别放入 各个tomcat 中的 \webapps  目录下面:

先启动各个tomcat , 再启动apache http 服务器!

 

4.2 打开一个browser ,输入: http://localhost/test/index.jsp  留意各个tomcat 的控制台输出的信息。

 

  • 大小: 86.7 KB
  • 大小: 56 KB
分享到:
评论

相关推荐

    Tomcat5基于JK的集群(Cluster)和负载平衡(Load Balance)

    标题"Tomcat5基于JK的集群(Cluster)和负载平衡(Load Balance)"提及了两个核心概念:Tomcat集群和负载平衡。Tomcat是Apache软件基金会的开源Java Servlet容器,用于部署和运行Java web应用程序。集群是在多台...

    apache+tomcat 负载平衡

    "Apache + Tomcat 负载平衡"的组合是业界常见的解决方案,用于解决高并发访问时服务器压力过大、读取文件速度慢等问题。下面将详细介绍这个主题的相关知识点。 首先,Apache HTTP Server(简称Apache)是一款开源的...

    详解TOMCAT的应用及操作

    Tomcat的集群(Cluster)和负载均衡(Load Balance)是高级特性,用于提高服务的可用性和性能。集群允许多个Tomcat实例协同工作,看起来像是单一的服务,通过网络共享内存进行通信。负载均衡则是在多个服务器之间...

    负载均衡haproxy_+tomcat实战

    服务器集群(Cluster)使得多个服务器节点能够协同工作,根据目的的不同,服务器集群可以分为: ...一般提到的负载均衡(Load Balance),是指实现负载均衡集群。负载均衡实现了横向扩展,避免纵向的升级换代。

    Tomcat 7 的七大新特性

    通过`cluster_loadbalance.rar`文件,我们可以看到Tomcat 7增强了集群和负载均衡能力。它提供了一种新的方式来分发请求,确保在多个节点间的故障转移和数据同步,增强了服务的可用性和可靠性。 4. **增强的安全性*...

    Tomcat集群与负载均衡

    负载均衡(Load Balance)则是集群的核心组成部分,它通过特定算法将请求分发到集群内的各个服务器,使得服务器之间的负载相对均衡,提高了系统的处理能力和可用性。 负载均衡有多种实现方式: 1. 基于DNS的负载...

    linux下tomcat集群的负载均衡

    2. **负载均衡集群 (Load Balance Cluster)**:此类集群中的所有节点都处于活动状态并分担工作负载,适用于 Web 服务器、数据库服务器和应用服务器等场景。 3. **科学计算集群 (High Performance Computing Cluster,...

    Jboss集群配置指南

    1. WEB Loadbalance 3 2. HTTP Session复制 3 3. JNDI 3 4. EJB 3 第二部分 集群物理实现 4 1. 物理架构 4 2. 机器网址分配 4 3. 软件环境 4 第三部分 集群配置 5 1. Apache 配置 5 2. Tomcat配置 6 3. Jboss配置 6 ...

    Dubbo Developer Guide.pdf

    - **负载均衡**:负载均衡策略,如 Random LoadBalance、RoundRobin LoadBalance 等。 - **线程模型**:配置线程池的使用。 - **直连提供者**、**只订阅**、**只注册**、**静态服务**等高级配置。 - **多协议、多...

Global site tag (gtag.js) - Google Analytics