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

apache2.2.11与tomcat6.0.18的集群和负载均衡的配置

    博客分类:
  • Java
阅读更多
网站服务器是tomcat,最近由于网站访问量在某一时间段会很大,为了避免tomcat的压力过大,也为了避免由于单个的tomcat宕机而造成的访问量丢失的情况出现,就准备安装多个tomcat以实现集群和负载均衡。
在网上找了很多方法,但多不太好,根据几个讲解,自己完成了这个功能,现在总结一下,和大家分享。

首先介绍一下所需的软件

apache_2.2.11-win32-x86-no_ssl.msi
apache-tomcat-6.0.18.tar

先安装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


#Include conf/extra/httpd-vhosts.conf

找到这些内容,将其注释取消。
在文件的最后加入

ProxyRequests Off 

<proxy balancer://sy> 

BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=jvm1 

BalancerMember ajp://127.0.0.1:9009 loadfactor=1 route=jvm2 

</proxy>


修改conf/extra/httpd-vhost.conf文件
在其最后加入
<VirtualHost *:80> 

ServerAdmin jiessiedyh@gmail.com 

ServerName localhost 

ServerAlias localhost 

ProxyPass / balancer://sy/ stickysession=jsessionid nofailover=On 

ProxyPassReverse / balancer://sy/ 

ErrorLog "logs/sy-error.log" 

CustomLog "logs/sy-access.log" common 

</VirtualHost>

解压tomcat,解压两个即可。修改conf/server.xml文件
具体修改如下:
一个<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" />
另一个不变
仔细对比下面的内容,和原来的tomcat不一样:
<!-- You should set jvmRoute to support load-balancing via AJP ie :
    
	<Engine name="Catalina" defaultHost="localhost">
    --> 
    <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm2">


另一个改为

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



如果是小型的集群,只需将下面的注释去掉即可:
<!--
      <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
             
 -->


如果是大型的,得加入下面的内容:
其中
<!--
      <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
            
-->
注释不取消

<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="4011" 
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>


好了,到此,基本配置完成,下面来测试一下。
在webapps下建立目录test,在目录中建立WEB-INF,里面的web.xml具体配置如下:

  
<?xml version="1.0" encoding="ISO-8859-1"?>


<web-app xmlns="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_2_5.xsd"
   version="2.5">

  <display-name>Welcome to Tomcat</display-name>
  <distributable/>

</web-app>

红色为重点内容

建立index.jsp文件
内容如下:
 <%@ page contentType="text/html; charset=GBK" %>
<%@ page import="java.util.*" %>
<html><head><title>Cluster App Test</title></head>
<body>
Server Info:
<%
out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<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 列表</b>");
  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">
    名称:<input type=text size=20 name="dataName">
     <br>
    值:<input type=text size=20 name="dataValue">
     <br>
    <input type=submit>
   </form>
</body>
</html>



现在访问http://127.0.0.1/test/index.jsp

看tomcat的打印时候是交替打印的。


分享到:
评论

相关推荐

    SVN1.4.6 + apache2.2.11 + tomcat 6.0.18 集成配置

    SVN1.4.6 + apache2.2.11 + tomcat 6.0.18 集成配置SVN1.4.6 + apache2.2.11 + tomcat 6.0.18 集成配置

    apache2.2.11和tomcat6整合配置例子打包下载

    apache2.2.11和tomcat6整合配置例子打包下载,开发宝典...... apache2.2.11和tomcat6整合配置 1,下载mod_jk.so 2,在apache的httpd.conf里面加入下面的话 LoadModule jk_module modules/mod_jk.so JkWorkersFile "D:\...

    Apache2.2.11+Tomcat6.0.20集群配置

    相关配置文件 博文链接:https://morning-sunshine-2008.iteye.com/blog/433412

    Apache+Tomcat集群和负载均衡及Session绑定

    【Apache+Tomcat 集群与负载均衡及Session绑定】是将多个Apache和Tomcat服务器配置成一个集群,以实现更高的服务可扩展性和可用性。集群的基本思想是通过将工作负载分散到多个服务器,避免单点故障,提高系统的整体...

    Tomcat6实现负载均衡

    2. 配置mod_proxy:添加或修改Apache的VirtualHost配置,指定后端Tomcat服务器的地址和端口,以及负载均衡策略。 3. 启动多个Tomcat实例:解压"apache-tomcat-6.0.18.zip",更改每个实例的端口和其它配置(如server....

    apache 2.2.11

    在本文中,我们将深入探讨Apache 2.2.11在Windows平台上的安装、配置、使用以及其主要特性。 1. **安装Apache 2.2.11 on Windows** - 下载:首先,你需要从官方或可靠的源下载`apache_2.2.11.zip`文件,解压缩到...

    apache2.2.11

    在httpd-2.2.11文件中,用户可以找到安装和配置Apache所需的所有文件,包括源代码、文档、示例配置等。安装过程通常包括编译源代码、配置服务器选项、安装二进制文件以及启动和管理服务器等步骤。 总的来说,Apache...

    apache 2.2.11配置文件

    apache 2.2.11配置文件中英文对照

    apache_2.2.11-win32-x86-openssl-0.9.8i_gpxz

    Apache服务器以其开源、免费、可高度定制和扩展性而受到赞誉,使得开发者可以轻松地根据需求调整配置和添加模块。 OpenSSL 0.9.8i则是一个安全套接层(SSL)和传输层安全(TLS)库,用于实现加密通信和身份认证。在...

    JBOSS负载均衡配置

    5. **配置集群模式**:在`E:\jboss-4.2.3.GA\server\default\deploy\jboss-web-cluster.sar\META-INF\jboss-service.xml`文件中设置`CacheMode`属性为`REPL_ASYNC`或`REPL_SYNC`,分别表示异步复制模式和同步复制...

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

    这种Apache与Tomcat的集成配置,对于处理高并发请求和实现负载均衡是非常重要的,同时也有利于提高系统的稳定性和可扩展性。通过JK模块,你可以轻松地管理多个Tomcat实例,实现故障转移和资源优化,这对于大型Web...

    windows下java pache-tomcat-6.0.20与apache_2.2.11整合

    本文档详细介绍了如何在 Windows 系统上安装配置并整合 Apache Tomcat 6.0.20 和 Apache 2.2.11。这种整合可以有效地提升 Web 应用程序的性能和服务质量,同时也能让 Web 开发者更加灵活地管理应用程序。以下是整个...

    Apache_2.2.11与Trac构建

    这篇文章将详细介绍如何在您的系统上构建和配置 Apache_2.2.11 与 Trac 的环境。 首先,我们需要了解 Apache 2.2.11 版本。这是 Apache HTTP Server 的一个稳定版本,发布于2009年,包含了多项性能优化和安全修复。...

    apache_2.2.11-win32-x86-openssl-0.9.8i.msi

    apache2.2.11最新版,win32版本,20个字很难凑啊

    PHP环境搭建Apache2.2.11 Php5.2.9-1

    在IT领域,PHP环境搭建是开发Web应用的基础工作,它涉及到服务器软件(如Apache)与PHP解释器的配置。本文将详细阐述如何在Windows操作系统上搭建一个基于Apache2.2.11和PHP5.2.9-1的PHP运行环境。 首先,我们需要...

    apache_2.2.11-win32-x86-openssl-0.9.8

    开发微信小程序涉及到前端和后端技术的结合,包括使用WXML(微信小程序标记语言)和WXSS(微信小程序样式语言)来构建界面,同时可能需要与服务器进行数据交互,这就需要一个能够运行后端服务的环境,如Apache ...

    Apache+Tomcat+JSP+PHP+MYSQL安装文件

    XP搭建Apache+Tomcat+JSP+PHP+MYSQL环境教程 由于附件大小限制,没有添加JDK。 如果需要安装教程或者有问题交流反馈,请到...3、apache-tomcat-6.0.18.zip 4、mysql-5.5.15-win32.msi 5、php-5.4.35-Win32-VC9-x86

    Apache Tomcat集群

    因此,通过构建Apache Tomcat集群来提高服务的可用性和负载均衡成为了常见的解决方案之一。本文将详细介绍如何在同一台计算机上搭建Apache Tomcat集群,包括所需的软件安装步骤、配置方法以及验证过程。 #### 二、...

    Windows Apache2.2.11及Php5.2.9-1的安装与配置方法

    Apache的安装与配置 打开apache官方网站 http://archive.apache.org/dist/httpd/binaries/win32/ 或者镜像网站 http://apache.mirror.phpchina.com/httpd/binaries/win32/,下载里面的apache_2.2.11-win32-x86-no_...

Global site tag (gtag.js) - Google Analytics