Windows环境下配置Apache2.4+Tomcat8.5的负载均衡配置

在上软件体系结构这门课的时候,有一个实验是Tomcat环境下负载均衡的配置方法。在此记录一下。

------------------------------------------------------------------------------------------------------------------


步骤:

  1. 配置Apache
    (1)从https://www.apachehaus.com/cgi-bin/download.plx   下载Apache2.4 VC14
    (2)解压缩至F:\SoftwareArchitectural
    (3)修改配置文件:

    httpd.conf:

    i.修改安装目录
    Define SRVROOT "/Apache24"
    改成
    Define SRVROOT "F:/SoftwareArchitectural/Apache24"
    ii.添加Module:

    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_ajp_modulemodules/mod_proxy_ajp.so
    LoadModule proxy_balancer_modulemodules/mod_proxy_balancer.so
    LoadModule proxy_connect_modulemodules/mod_proxy_connect.so
    LoadModule proxy_express_modulemodules/mod_proxy_express.so
    LoadModule proxy_ftp_modulemodules/mod_proxy_ftp.so
    LoadModule proxy_http_modulemodules/mod_proxy_http.so
    LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
    //Apache2.4要求
    LoadModule lbmethod_byrequests_modulemodules/mod_lbmethod_byrequests.so
    去掉注释
     
    iii.添加httpd-vhost.conf

    Include conf/extra/httpd-vhosts.conf
    去掉注释
     
    iiii.关闭代理服务器,并配置balancer平衡器
    在文件的最后加上
    ProxyRequests Off
    <proxy balancer://cluster>
       BalancerMemberajp://localhost:8010 loadfactor=1 route=jvm1 smax=5 max=20 ttl=120 retry=300timeout=15
       BalancerMemberajp://localhost:8011 loadfactor=1 route=jvm2 smax=5 max=20 ttl=120 retry=300timeout=15
    </proxy>

    httpd-vhost.conf:

    i.

    DocumentRoot "${SRVROOT}/htdocs"
    添加注释
     
    ii.
    在文件的最后添加
    <VirtualHost *:80>
       ServerAdminxxxxx@qq.com
       ServerNamelocalhost
       ServerAliaslocalhost
       ProxyPassReverse/ balancer://cluster/
       ErrorLog"logs/softwareApache.log"
       CustomLog"logs/softwareApache.log" common
    </VirtualHost>
    ProxyPass / balancer://cluster/stickysession=jsessionid nofailover=On
    (4)安装apache2.4服务
                  打开命令行并进入F:\SoftwareArchitectural\Apache24\bin
                  执行  httpd –k install
    (5)启动apache2.4
                  打开命令行并进入F:\SoftwareArchitectural\Apache24\bin
                  执行  httpd –k start
    (6)测试
            打开浏览器 进入
            127.0.0.1
            出现
        
            此结果表明Apache已经具备负载分流的功能,只是在相应IP:端口上没有对应的服务器可以接收。
    (7)关闭apache2.4
            打开命令行并进入F:\SoftwareArchitectural\Apache24\bin

            执行  httpd –k stop


  2. 配置tomcat

    (1)     下载tomcat8.5 压缩版

    (2)     分别在F:\SoftwareArchitectural下解压为

    apache-tomcat-8.5-a

    apache-tomcat-8.5-b

    (3)     添加环境变量,右键单击我的电脑->选择属性->选择高级->选择环境变量:添加系统变量:

    CATALINA_HOME_A

    其值为:F:\SoftwareArchitectural\apache-tomcat-8.5-a

    (不能加分号)

    CATALINA_HOME_B

    其值为:F:\SoftwareArchitectural\apache-tomcat-8.5-b

    (不能加分号)

    (4)     修改端口:

    apache-tomcat-8.5-a:

    打开tomcat根目录下的conf

    打开server.xml

    Server.xml:

    i.                修改关闭端口:

    <Server port="8006" shutdown="SHUTDOWN">

    ii.               修改运行端口:

    <Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

    iii.修改AJP1.3端口:

              这里的端口要与前面httpd.conf最后部分中对应

    <Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />

    iiii.修改TomcatRoute:

              这里的端口要与前面httpd.conf最后部分中对应

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

    iiiii.去掉注释:

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


    apache-tomcat-8.5-b:

    Server.xml:

    iii.             修改关闭端口:

    <Server port="8007" shutdown="SHUTDOWN">

    iv.             修改运行端口:

    <Connector port="8082" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

    iii.修改AJP1.3端口:

              这里的端口要与前面httpd.conf最后部分中对应

    <Connector port="8011" protocol="AJP/1.3" redirectPort="8443" />

    iiii.修改TomcatRoute:

              这里的端口要与前面httpd.conf最后部分中对应

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

    iiiii.去掉注释:

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

     

    (5)     修改startup.bat和catalina.bat文件内容:

    1.编辑apache-tomcat-8.5-a\bin\startup.bat

    把其中所有CATALINA_HOME替换为CATALINA_HOME_A

    (就是前面设置的环境变量)

    2.编辑apache-tomcat-8.5-a\bin\catalina.bat

    把其中所有CATALINA_HOME替换为CATALINA_HOME_A

    (就是前面设置的环境变量)

     

    apache-tomcat-8.5-b相同的步骤就是

    把其中所有CATALINA_HOME替换为CATALINA_HOME_B

     

    (6)     启动tomcat:

    在命令行下分别进入两个不同的Tomcat安装目录下,执行startup.bat


  3. 测试

    一、

    在apache-tomcat-8.5-a\webapp\下创建目录LoadBalancing

    在目录下:

    1.创建文件index.jsp:

    <%@ pagecontentType="text/html; charset=UTF-8" %>
    
    <html><head><title>test</title></head>
    
    <body>
    
    <%
    
           out.println("<br>JSESSIONID: " +session.getId()+"<br>");
    
           out.println("这是a的tomcat");
    
    %>
    
    </body>
    
    </html>

    2.创建WEB-INF目录:

    创建web.xml:

    <?xml version="1.0"encoding="utf-8"?>
    
     
    
    <web-appxmlns="http://java.sun.com/xml/ns/javaee"
    
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
    
                     http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    
    version="3.0"
    
    metadata-complete="true">
    
     <distributable />
    
    </web-app>

     

    二、

           将目录LoadBalancing复制到apache-tomcat-8.5-b\webapp\下

           并将index.jsp中

           out.println("这是a的tomcat");

           改成

           out.println("这是b的tomcat");

     

    三、

           打开命令行并进入F:\SoftwareArchitectural\Apache24\bin

           执行  httpd –k start

          

           在命令行下分别进入两个不同的Tomcat安装目录下,执行startup.bat

结果:

在浏览器上进入  127.0.0.1/LoadBalancing


将tomcat-b关闭



总结:

      在配置负载均衡的过程中参考了网上的大量资料,但是资料的质量参差不齐。一开始配置完apache,但是无法启动apache,查看了apache根目录下的logs/error.log知道了具体错误,再根据错误去寻找出错的地方。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值