`
bobbie.zou
  • 浏览: 66130 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

配置Apache2.2负载平衡+Tomcat6集群(转贴)

    博客分类:
  • java
阅读更多
Apache2.2负载平衡+Tomcat6集群
                        作者:rocky
参考资料:
http://man.chinaunix.net/newsoft ... /mod/mod_proxy.html
http://man.chinaunix.net/newsoft ... proxy_balancer.html

所谓负载均衡(loadbalance)所指的是,在服务器端短时间内获得大量的请求,单一服务器无法在一个较短的时间内响应这些请求,
此时服务器需要一个机制,请求按照多个服务器不同的负载能力,把这些请求合理的分配。
集群(cluster)的作用则是在多个服务器之间共享用户信息,资源等。

说明:一台apache2.2服务器,两台tomcat服务器
一台负载均衡apache2.2服务器负责请求的均衡,群集服务器A和群集服务器B组成一个群集,当某个群集服务器崩溃后,另外一台继续负责应用程序的运行。
介绍:apache对tomcat的支持历史:apache第2.1版本后,内置了proxy_ajp,而jk2已经没人开发了,jk则支持到 apache的2.0.58版本。proxy_ajp配置较简单,但可配置性还不如jk2,主要表现在proxy_ajp目前只支持配置到目录,还不支持对文件名称的pattern模式匹配(即还不能定义到只对jsp文件起作用)。

安装JDK1.5以上版本,安装Apache2.2,安装Tomcat6,配置Apache负载平衡,配置Tomcat集群

一,安装JDK(所有运行Tomcat主机,即web服务器)
1.下载JDK的bin包
2.设置环境变量 #vi /etc/profile 在其最后加入
JAVA_HOME=/usr/java
export JAVA_HOME
CLASSPATH=/usr/java/lib:/usr/java/jre/lib
export CLASSPATH
PATH=$PATHEmbaressedJAVA_HOME/binEmbaressedJAVA_HOME/jre/bin
export PATH
JRE=/usr/java/jre
export JRE
   保存退出

二,配置负载均衡服务器Apache2.2
   1.下载apache2.2.4,安装相关组件
   http://www.sunfreeware.com/indexintel10.html中下载apache-2.2.4-sol10-x86- local.gz,expat-1.95.5-sol10-intel-local.gz,libiconv-1.11-sol10-x86-local.gz,openssl-0.9.8e-sol10-x86-local.gz,libgcc-3.4.6-sol10-x86-local.gz
   安装方法:
   解压缩: gzip -d apache-2.2.4-sol10-x86-local.gz
   安装:pkgadd -d apache-2.2.4-sol10-x86-local

   2.查看编译进apache的模块:
   #cd /usr/local/apache2/bin
   #httpd -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://192.168.1.8:8080/temp/
#ProxyPassReverse / balancer://tomcatcluster/
ProxyPassReverse /ccas balancer://tomcatcluster/ccas/
ProxyPassReverse /clpay balancer://tomcatcluster/clpay/

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

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

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

   4.进入/usr/local/apache2/bin目录,运行
   # ./apachectl configtest命令检查一下配置是否有误
   显示Syntax OK,说明配置正确
   5.启动/关闭/重新启动apache
   启动apache
   # ./apachectl start

   关闭apache
   # ./apachectl stop

三,安装配置tomcat6集群
   1.下载apache-tomcat-6.0.13.tar.gz(http://archive.apache.org/dist/t ... omcat-6.0.13.tar.gz)
   2.安装apache-tomcat-6.0.13.tar.gz
   安装在目录/usr/apache/tomcat
   # gzip -d apache-tomcat-6.0.13.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">
   jvmRoute是tomcat路由标示,由此区分两台tomcat主机,那么第二台就改为
   <Engine name="Standalone" defaultHost="localhost" jvmRoute="tomcat2">
   加上注释<Engine name="Catalina" defaultHost="localhost">
   6.修改tomcat 的 conf/server.xml 的<Connector>(使用arp协议时配置)
   去掉注释<Connector port="8009" enableLookups="false" redirectPort="8443" debug="0" protocol="AJP/1.3" />
   7.修改tomcat 的 conf/server.xml 的<Cluster>
<!--
<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="5000"
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>

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

配置完成,先启动所有tomcat服务器,最后启动apache2.2服务器
分享到:
评论

相关推荐

    Linux下安装配置 Apache2.2.x+MySql5.x+PHP5.x 详解

    Linux 下安装配置 Apache2.2.x+MySql5.x+PHP5.x 详解 本篇文章详细介绍了在 Linux 操作系统下安装和配置 Apache2.2.x、MySql5.x 和 PHP5.x 的步骤,使用的操作系统为 Redhat AS5,内核版本为 Linux 2.6.18-8.el5,...

    Apache2.2.x+Tomcat6.x+jk2.x做集群配置

    Apache2.2.x + Tomcat6.x + jk2.x 集群配置教程 在互联网服务中,为了提供高可用性和负载均衡,通常会采用集群技术。Apache HTTP Server(通常简称为Apache)与Tomcat的结合是常见的Web服务器与应用服务器组合。...

    Apache2负载均衡+Tomcat6集群

    在构建高性能、高可用性的Web服务时,Apache2负载均衡与Tomcat6集群是一个常见的解决方案。这个组合可以有效地分发用户请求,提高系统的响应速度,同时确保服务的稳定性。下面我们将详细探讨这两个技术及其配置。 *...

    apache2.2+tomcat6集群配置

    Apache2.2与Tomcat6集群配置是一种常见的Web服务架构,用于提高网站的可用性和可扩展性。在Windows环境下,这种配置可以实现负载均衡,确保即使单个服务器出现故障,整个系统仍然能继续运行,同时分散请求以降低单一...

    apache2.4+tomcat 7 集群配置

    直接下载, 即可用 apache2.4+tomcat 7 集群配置

    Apache2.2+Tomcat6 配置

    在IT行业中,集成Apache2.2与Tomcat6是一个常见的任务,这主要涉及到Web服务器与应用服务器的联合部署,以实现动态和静态内容的高效分发。Apache2.2是一个强大的HTTP服务器,常用于处理静态内容,而Tomcat6则是一个...

    Apache2.2+Tomcat5.5整合配置教程

    Apache2.2与Tomcat5.5的整合配置是一个常见的任务,特别是在那些希望利用Apache作为前端服务器处理静态内容,而将动态请求转发给Tomcat处理的环境中。这种配置可以提高服务器性能并优化资源分配。 首先,我们需要...

    Apache2.2+jdk1.8+Tomcat8+Tomcat-connectors配置tomcat负载均衡session同步

    这个是我亲自一步一步做的,测试成功,没有任何问题,内容详细。centos6.5系统搭载apache2.2,做tomcat负载均衡,实现动静分离,session同步。

    Windows下Apache2.2+Tomcat6配置集群、负载均衡、session共享

    在Windows环境下,Apache2.2和Tomcat6的组合是一个常见的Web服务器架构,用于搭建集群、实现负载均衡和处理session共享。Apache作为前端反向代理服务器,负责分发请求到后端的多个Tomcat实例,以提高应用的可用性和...

    Apache2.2+PHP+Mysql整体下载

    在Win7环境下,Apache2.2的安装通常包括下载安装包,配置httpd.conf文件以指定服务器根目录和启用必要的模块,以及设置系统服务以便在后台自动启动。 PHP(Hypertext Preprocessor)5.3是PHP语言的一个版本,提供了...

    Apache+Tomcat服务器集群配置详细步骤

    ### Apache+Tomcat服务器集群配置详细步骤 #### 一、引言 在现代Web开发中,随着业务规模的不断扩大和用户需求的日益增长,单一服务器往往难以满足高性能、高可靠性的要求。为了应对这一挑战,通常采用Apache+...

    Apache2_2+Tomcat6配置集群、负载均衡

    Apache2_2+Tomcat6配置集群、负载均衡

    apache2.2+tomcat7

    apache2.2+tomcat7

    apache+tomcat集群配置

    本文将详细介绍如何配置 Apache + Tomcat 集群,包括安装 Apache 和 Tomcat 服务器、配置 mod_jk 模块、配置 Apache 和 Tomcat 服务器、配置负载均衡控制器等。 一、安装 Apache 服务器 首先,需要安装 Apache ...

    apache2.2 + tomcat6 配置方式

    以下是关于如何配置Apache2.2与Tomcat6的详细步骤和知识点: 1. **Apache2.2简介**: Apache2.2是Apache HTTP Server的一个版本,主要负责处理HTTP请求,提供静态网页内容。它具有良好的稳定性和丰富的模块支持。 ...

    Apache2.2 tomcat-6.0.18负载均衡与集群

    总结起来,"Apache2.2 tomcat-6.0.18负载均衡与集群"是一个复杂但关键的架构,涉及到Apache的mod_proxy和mod_jk模块,以及Tomcat的集群配置。这个主题涵盖了如何利用这些工具和技术创建一个高可用、高性能的Web服务...

    Apache2.2+tomcat7+jk+jdk1.6

    本配置"Apache2.2+tomcat7+jk+jdk1.6"旨在实现一个稳定且可靠的环境,特别关注于session的共享与管理,以解决多服务器间的session一致性问题。 Apache2.2是Apache HTTP Server的第2.2版本,提供了强大的静态内容...

Global site tag (gtag.js) - Google Analytics