`
爱像天空
  • 浏览: 205806 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

配置Apache2.2.10负载平衡+Tomcat6集群(linux)

阅读更多
一.liunx下安装jdk安装完好.

不在累述



二,配置负载均衡服务器Apache2.2.10
1.下载apache2.2.10,安装相关组件
http://www.sunfreeware.com/indexintel10.html中下载httpd-2.2.10.tar.gz
安装方法:
解压缩: tar -zxvf httpd-2.2.10.tar.gz

./configure --prefix=/usr/local/apache2 --enable-auth-anon --enable-auth-dbm --enable-cache --enable-disk-cache --enable-expires --enable-file-cache --enable-headers --enable-info --enable-logio --enable-mem-cache --enable-proxy --enable-rewrite --enable-ssl --with-ssl=/usr/local/openssl -enable-unique-id --enable-usertrack --enable-vhost-alias --enable-mods-shared=most

make

make install



按实际情况修改apache 配置文件
找到 #ServerName http://www.example.com/ 在其下设置 ServerName 如下
ServerName http://www.mysite.com/
基中 http://www.mysite.com/ 为你网站名,也可用IP代替
找到 DocumentRoot "/usr/local/apache/htdocs"
设置你的 WEB 服务器的根目录 如
DocumentRoot "/myweb"
找到 DirectoryIndex index.html index.html.var 改为
DirectoryIndex index.html index.php index.htm
用下面命令启动WEB服务器
# /usr/local/apache2/bin/apachectl start
查看自己的站点是否正常 http://www.mysite.com/ 也可用IP
用 # /usr/local/apache2/bin/apachectl stop 可停止服务


2.查看编译进apache的模块:
#cd /usr/local/apache2/bin
#./apachectl -l
Compiled in modules:
core.c
prefork.c
http_core.c
mod_so.c

3.修改/usr/local/apache2/conf/httpd.conf文件

将以下Module的注释去掉(其实已经去掉了)
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

并在最后面,增加
<Location /server-status>
SetHandler server-status
Order Deny,Allow
Deny from all
Allow from all
</Location>
<Location /balancer-manager>
SetHandler balancer-manager
Order Deny,Allow
Deny from all
Allow from all
</Location>
ProxyRequests Off
ProxyPass / balancer://tomcatcluster/ stickysession=jsessionid nofailover=On
ProxyPass /temp http://10.8.1.8:8080/temp/
#ProxyPassReverse / balancer://tomcatcluster/
ProxyPassReverse /ccas balancer://tomcatcluster/ccas/
ProxyPassReverse /clpay balancer://tomcatcluster/clpay/

<Proxy balancer://tomcatcluster>
BalancerMember http://10.8.1.8:8080 loadfactor=1
BalancerMember http://10.8.1.8:8081 smax=1 loadfactor=1
# Less powerful server,don't send as many requests there
BalancerMember http://10.8.1.8:8082 smax=1 loadfactor=2
</Proxy>



ProxyPass为代理转发的Url,即将所有访问/的请求转发到群集balancer://tomcatcluster
BalancerMember为群集的成员,即群集服务器A或B,负载均衡服务器会根据均衡规则来将请求转发给BalancerMember。

配置好后,启动Apahce服务器,访问localhost就会看到群集服务器中应用返回的结果。恭喜你,负载均衡和群集已经配置成功了。
访问localhost/balancer-manager,显示负载均衡有关信息


4.进入/usr/local/apache2/bin目录,运行
#./apachectl -t
显示Syntax OK,说明配置正确
5.启动/关闭/重新启动apache
启动apache
# ./apachectl start

关闭apache
# ./apachectl stop
输入:http://10.8.1.8:8080 显示 it's work! 测试页面


三,安装配置tomcat6集群
1.下载apache-tomcat-6.0.18.tar.gz(http://archive.apache.org/dist/t ... omcat-6.0.18.tar.gz)
2.安装apache-tomcat-6.0.18.tar.gz

安装在目录/usr/apache/tomcat
# gzip -d apache-tomcat-6.0.18.tar.gz

3.解决在solaris下显示验证码出错(有这个 错误的情况下)
在/usr/apache/tomcat/bin/catalina.sh中的第266/278行加上-Djava.awt.headless=true \

4.启动tomcat服务器 测试是否正常
# cd /usr/apache/tomcat/bin/
# ./startup.sh

5.修改tomcat 的 conf/server.xml 的<Engine>(使用arp协议时配置)
去掉注释<Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat1"gt;
jvmRoute是tomcat路由标示,由此区分两台tomcat主机,那么第二台就改为
<Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat2"gt;
加上注释<Engine name="Catalina" defaultHost="localhost"gt;
6.修改tomcat 的 conf/server.xml 的<Connector>(使用arp协议时配置)
去掉注释<Connector port="8009" enableLookups="false" redirectPort="8443" debug="0" protocol="AJP/1.3" /gt;
7.修改tomcat 的 conf/server.xml 的<Cluster>
<!--
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/gt;
-->
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"
channelSendOptions="6"gt;

<Manager className="org.apache.catalina.ha.session.BackupManager"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"
mapSendOptions="6"/gt;
<!--
<Manager className="org.apache.catalina.ha.session.DeltaManager"
expireSessionsOnShutdown="false"
notifyListenersOnReplication="true"/gt;
-->
<Channel className="org.apache.catalina.tribes.group.GroupChannel"gt;
<Membership className="org.apache.catalina.tribes.membership.McastService"
address="228.0.0.4"
port="45564"
frequency="500"
dropTime="3000"/gt;
<Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
address="auto"
port="5000"
selectorTimeout="100"
maxThreads="6"/gt;

<Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"gt;
<Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/gt;
</Sender>
<Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/gt;
<Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/gt;
<Interceptor className="org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"/gt;
</Channel>

<Valve className="org.apache.catalina.ha.tcp.ReplicationValve"
filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/gt;

<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
tempDir="/tmp/war-temp/"
deployDir="/tmp/war-deploy/"
watchDir="/tmp/war-listen/"
watchEnabled="false"/gt;

<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/gt;
</Cluster>

8.在每个webapps应用中,修改配置文件web.xml文件 添加元素<distributable/>
在web.xml文件中<web-app>元素下增加以下内容:
<!--此应用将与群集服务器复制Session-->
<distributable/>
具体修改如下:
修改前:
<?xml version="1.0" encoding="utf-8"?gt;
<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"gt;
</web-app>
修改后:
<?xml version="1.0" encoding="utf-8"?gt;
<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"gt;
    <!--此应用将与群集服务器复制Session-->
    <distributable/>
</web-app>



四.测试页面代码:

<%@ page contentType="text/html; charset=GBK" %gt;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;
<%@ page import="java.util.*" %gt;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;
<html><head><title>Cluster App Test</title></head>      
<body>      
<%        
    System.out.println("SessionID:"nbsp; + session.getId());nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;
%>      
Server Info:       
<%       
out.println(request.getServerName() + " : " + request.getServerPort()+"lt;brgt;");%gt;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;
<%       
   out.println("lt;brgt; ID " + session.getId()+"lt;brgt;");nbsp;nbsp; // 如果有新的 Session 属性设置nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;
   String dataName = request.getParameter("dataName");nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;
   if (dataName != null && dataName.length() > 0) {       
      String dataValue = request.getParameter("dataValue");nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;
      session.setAttribute(dataName, dataValue);       
   }       
   out.print("lt;bgt;Session 列表lt;/bgt;lt;brgt;");nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;
   Enumeration e = session.getAttributeNames();       
   while (e.hasMoreElements()) {       
      String name = (String)e.nextElement();       
      String value = session.getAttribute(name).toString();       
      out.println( name + " = " + value+"lt;brgt;");nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;
          System.out.println( name + " = " + value);nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;
    }       
%>      
  <form action="test.jsp" method="POST"gt;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;
     名称:<input type=text size=20 name="dataName"gt;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;
     <br>      
     数值:<input type=text size=20 name="dataValue"gt;nbsp;nbsp;nbsp;nbsp;nbsp;nbsp;
     <br>      
    <input type=submit>      
   </form>      
</body>      
</html>   
你就发现你的session是复制了的! 这里就没有tomcat5 配置jk_conf那么麻烦!
分享到:
评论

相关推荐

    Apache+Tomcat+JK 实现集群负载均衡文档

    5. **修改Tomcat配置**:在每个Tomcat实例的server.xml中,确保每个实例有唯一的`jvmRoute`,这有助于JK模块识别和平衡负载。 6. **创建测试应用**:编写一个简单的JSP页面,如test.jsp,将其放在每个Tomcat的...

    Linux平台下搭建Apache+Tomcat服务器

    Linux平台下搭建Apache+Tomcat服务器是指在Linux操作系统下安装和配置Apache和Tomcat服务器的过程,以便实现Web服务器的搭建和网站的发布。下面将详细讲解这个过程中涉及的知识点。 一、JDK安装 1. JDK(Java ...

    apache2.2.10+php5.3.8+mysql5.5.19

    在Windows环境下,`apache_2.2.10-win32-x86-no_ssl.msi` 是一个安装程序,用于在Windows操作系统上安装Apache。"no_ssl"表示这个版本不包含SSL支持,这意味着默认情况下它不能处理HTTPS连接,如果需要处理加密的Web...

    Jboss集群配置httpd-v2.2.18+mod_jk-1.2.27-httpd-2.2.10.so+jboss-4.2.3

    Apache + mod_jk 是一种常见的负载均衡解决方案,mod_jk 是Apache的一个模块,用于处理Apache与Tomcat(JBoss内置的Web容器)之间的通信。 3. **负载均衡策略**: - **基于request的负载均衡**:每个HTTP请求会被...

    PHP-5.2.1+tomcat+php配置+20个例子

    标题 "PHP-5.2.1+tomcat+php配置+20个例子" 暗示了这个压缩包文件包含的内容主要与PHP 5.2.1版本的配置、Tomcat服务器集成以及一系列示例代码有关。我们将深入探讨这些主题,并结合描述和标签来解析其中的关键知识点...

    Windows平台上的Apache+Tomcat配置指南收集.pdf

    在Windows平台上配置Apache+Tomcat环境,主要是为了搭建一个能够处理Java Web应用的服务器。Apache HTTP服务器作为前端服务器,负责处理HTTP请求,并通过mod_jk模块与后台的Tomcat Web应用容器进行通信。以下是详细...

    Windows平台上的Apache+Tomcat配置指南[归纳].pdf

    Windows平台上的Apache+Tomcat配置指南 本文主要讲述如何在Windows平台上搭建一个用于Java平台的Web服务器过程。整个过程中用到的软件包括:Apache的HTTP服务器、JDK6、Tomcat 6、mod_jk。实现的目标是配置完成一个...

    apache-cxf-2.2.10安装包和如何配置到环境变量

    在本文中,我们将详细介绍如何安装和配置Apache CXF 2.2.10,并将其添加到系统的环境变量中。 首先,了解Apache CXF的基本概念至关重要。它是一个用于创建Web服务的工具,支持多种协议和标准,如SOAP、RESTful HTTP...

    windows 安装配置apache_mysql_php_tomcat_svn

    ### Windows环境下Apache、MySQL、PHP、Tomcat及SVN的安装与配置 #### 一、概述 本文档旨在提供一个Windows环境下安装与配置Apache、MySQL、PHP、Tomcat及SVN的基本步骤,以便搭建出一个集成开发环境。通过本文档...

    apache_2.2.10-win32-x86-no_ssl.msi

    apache http服务器,这是最新版的,刚刚从apache的官方网站下载下来,绝对好用。

    apache_2.2.10-win32-x86-no_ssl.zip

    这个压缩包文件"apache_2.2.10-win32-x86-no_ssl.zip"是针对Windows 32位系统的一个特定版本——Apache 2.2.10,不包含SSL支持。下面将详细介绍Apache HTTP Server的特性、安装与配置以及SSL相关知识。 1. Apache ...

    apache-cxf-2.2.10.zip

    这个"apache-cxf-2.2.10.zip"压缩包包含了Apache CXF 2.2.10版本的所有组件和资源。CXF允许开发者以Java编程语言创建符合WS-*标准的Web服务,并提供了丰富的API和工具支持。 Apache CXF的核心功能包括: 1. **Web...

    ESSamp(Apache+MySQL+PHP随时随地搭建网站平台) 1.1.0.0

    ESSamp是一款拥有图形界面的快速搭建网站服务器平台的绿色软件。您只需下载并解压ESSamp就 能完成安装,如果您觉得...Apache 2.2.10 PHP 5.2.8 MySQL 5.1.30 MySQL 4.1.22 phpMyAdmin 2.11.9.4 ZendOptimizer 3.3.3

    apache+php+mysql安装配置问题参考.pdf

    【Apache的安装与配置】 Apache 是一款广泛应用的开源Web服务器,是搭建PHP环境的基础。在Windows平台上,Apache的安装步骤如下: 1. **检查环境**:确保无其他占用80端口的程序运行,如迅雷。 2. **启动安装**:...

    apache+php+mysql安装配置问题[汇编].pdf

    【Apache的安装与配置】 Apache 是一款广泛应用的开源Web服务器,是搭建PHP环境的基础。在Windows平台上,Apache的安装过程简单明了,但需要注意一些关键步骤以确保顺利配置。 首先,确保在安装Apache前关闭可能会...

    apache-cxf-2.2.10(A)

    apache-cxf-2.2.10所有的jar,无需在一个一个的去找了。cxf.jar commons-logging.jar neethi.jar jaxb-api.jar jaxb-impl.jar stax-api.jar 由于上传大小有限无法一次性传全部,在这分为2次上传。 apache-cxf-2.2.10...

    Linux下apache与php的安装与整合.docx

    以下将详细介绍如何在Linux系统上安装Apache和PHP,并进行整合配置。 首先,我们需要安装PHP。在这个例子中,我们假设安装的是PHP 5.x版本。为了安装PHP,首先需要安装libxml2库,因为它是PHP编译的依赖之一。执行...

    apache-cxf-2.2.10(B)包含api

    apache-cxf-2.2.10所有的jar,无需在一个一个的去找了。cxf.jar commons-logging.jar neethi.jar jaxb-api.jar jaxb-impl.jar stax-api.jar 由于上传大小有限无法一次性传全部,在这分为2次上传。 apache-cxf-2.2.10...

    apache与tomcat整合-完整篇

    本文详细介绍了Apache与Tomcat整合前的准备工作,包括Apache、Tomcat、JDK及JK Connector的安装与配置。通过这些步骤,我们可以构建一个稳定的Web应用环境。需要注意的是,根据实际情况可能还需要对配置文件进行...

Global site tag (gtag.js) - Google Analytics