apache+tomcat负载均衡集群详细搭建

软件准备

1.jdk-8u181-windows-x64.exe
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

2.httpd-2.4.34-o102o-x64-vc14.zip
https://www.apachehaus.com/cgi-bin/download.plx

3.apache-tomcat-8.5.20
https://tomcat.apache.org/download-80.cgi

4.tomcat-connectors-1.2.40-windows-x86_64-httpd-2.4.x.zip
https://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/
解压后,可得mod_jk.so

Tomcat集群配置

将apache-tomcat-8.5.20复制成3个,重命名为:
这里写图片描述
先配置apache-tomcat-8.5.20-7080,conf\server.xml修改4个地方为:

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

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

    <Connector port="7009" protocol="AJP/1.3" redirectPort="8443" />
        <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" jvmRoute="tomcat1"/>

同样的,apache-tomcat-8.5.20-8080,conf\server.xml修改4个地方为:

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

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

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
        <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" jvmRoute="tomcat2"/>

最后,apache-tomcat-8.5.20-9080,conf\server.xml修改4个地方为:

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

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

    <Connector port="9009" protocol="AJP/1.3" redirectPort="8443" />
        <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" jvmRoute="tomcat3"/>

在apache-tomcat-8.5.20-7080\webapps下,新建文件夹testcluster,然后testcluster下新建WEB-INF,WEB-INF下有个web.xml文件,内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"
  metadata-complete="true">
  <display-name>Welcome to Tomcat</display-name>
  <description>
     Welcome to Tomcat
  </description>
  <distributable/>
</web-app>

最主要的是加上“< distributable/>”。

在testcluster下新建1个jsp页面index.jsp,用于集群测试,内容如下:

<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.util.*" %>   
<html>
<head>
<title>Cluster App Test</title>
</head>   
<body>   

<%     
   System.out.println("SessionID:"  + session.getId());    
%>   

Server Info:    

<%    
out.println(request.getServerName() + " : " + request.getServerPort()+"<br>");%>   

<%    
  out.println("<br> ID " + session.getId()+"<br>");  // 如果有新的 Session 属性设置    

  String dataName = request.getParameter("dataName");    

  if (dataName != null && dataName.length() > 0) {    
     String dataValue = request.getParameter("dataValue");    
     session.setAttribute(dataName, dataValue);    
  }    

  out.print("<b>Session list:</b><br>");      
  Enumeration e = session.getAttributeNames();    

  while (e.hasMoreElements()) {    
     String name = (String)e.nextElement();    
     String value = session.getAttribute(name).toString();    
     out.println( name + " = " + value+"<br>");    
     System.out.println( name + " = " + value);    
   }    
%>   

  <form action="index.jsp" method="POST">   
    name:<input type=text size=20 name="dataName">   
     <br>   
    value:<input type=text size=20 name="dataValue">   
     <br>   
    <input type=submit>   
   </form>   
</body>   
</html>

再将testcluster整个目录分别复制到另外2个tomcat的webapps下,至此,tomcat集群配置完了。

Apache负载均衡配置

1.把解压的mod_jk.so复制到Apache24\modules目录下,

2.在Apache24\conf新建2个文件:mod_jk.conf,workers.properties。
这里写图片描述
mod_jk.conf内容如下:

#加载mod_jk Module,注意文件名根据实际情况而填
LoadModule jk_module modules/mod_jk.so

#指定 workers.properties文件路径
JkWorkersFile conf/workers.properties

#指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器  
JkMount /* controller

workers.properties内容如下:

#server 列表
worker.list = controller,tomcat1,tomcat2,tomcat3

#========tomcat1========
worker.tomcat1.port=7009
worker.tomcat1.host=127.0.0.1
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor = 1

#========tomcat2========
worker.tomcat2.port=8009
worker.tomcat2.host=127.0.0.1
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor = 1

#========tomcat3========
worker.tomcat3.port=9009
worker.tomcat3.host=127.0.0.1
worker.tomcat3.type=ajp13
worker.tomcat3.lbfactor = 1

#========controller,负载均衡控制器========
worker.controller.type=lb
worker.controller.balanced_workers=tomcat1,tomcat2,tomcat3
worker.controller.sticky_session=false

3.修改Apache24\conf\httpd.conf文件,在最后1行加上,

include conf/mod_jk.conf

即可。

测试

先启动3个tomcat,在启动apache。

apache并发访问压力测试:
CMD模式进入Apache24\bin目录,输入命令:

ab -n 1000 -c 50 http://127.0.0.1/testcluster/index.jsp

参数n - 代表请求的总数量
参数c - 代表并发的请求数

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值