我开始的目的是 提高网站的访问速度
由于网站用的是TOMCAT 所以开始的目标错误了 本来以为用apache+tomcat集群能大幅度提高性能
不过后面才知道 原来只是提高了稳定性
(不过在访问量很大的时候 优势还是很明显的。用集群系统通过功能整合和故障过渡技术实现系统的高可用性和高可靠性,集群技术还能够提供相对低廉的总体拥有成本和强大灵活的系统扩充能力。)
所谓负载均衡(loadbalance)所指的是,将请求按照多个服务器不同的负载能力,把这些请求合理的分配。
(负载均衡是一种策略,它能让多台服务器或多条链路共同承担一些繁重的计算或I/O任务,从而以较低成本消除网络瓶颈,提高网络的灵活性和可靠性。)
呵呵 出发点 错误
下面说说集成方法
还好网上关于集成的文章很多 大部分都一样 我一般不看官方文档 (1.英语不是很好,看起来费力,正在改进中2.版本问题,一不小心看了旧的文档 那就 晕了)
Apache Module mod_proxy 英文文档地址(http://httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypass)
中文文档地址
(http://shiningray.cn/proxypass-directive-in-apache.html)
首先 实现负载均衡的方式
听说有3种
1使用DNS轮询.2.使用Apache R-proxy方式。3.使用Apache mod_jk方式.
DNS没搞过。 Apache R-proxy方式和Apache mod_jk方式.效果差不多 但是mod_jk已经停止开发了
所以没用那个(用mod_jk需要下载mod_jk.so) 但是mod_jk的可配置性高于R-proxy
2 ,实现负载均衡的策略
听说也有3种
1) 轮询均衡策略的配置
2) 按权重分配均衡策略的配置
3) 权重请求响应负载均衡策略的配置
前两种 就是看 loadfactor=1 的设置
第三种 在ProxyPass / balancer://proxy/ lbmethod=bytraffic 中
lbmethod=bytraffic 可以是byrequests,进行加权请求计数,或者是bytraffic,进行加权流量字节计数均衡。默认按byrequests,
3,负载均衡配置
我用的是proxy
我配置的版本是ApacheHTTPServerV2·2·4
apache-tomcat-6.0
JDK1.6
3.1 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_http_module modules/mod_proxy_http.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
文件前的注释去掉
DocumentRoot "D:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps"//将apache的站点目录htdocs转移到tomcat目录
修改
<IfModule dir_module>
DirectoryIndex index.htm index.html index.jsp
</IfModule>
加入index.jsp
在最后加入
<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/ lbmethod=byrequests stickysession=JSESSIONID nofailover=Off
ProxyPassReverse / balancer://tomcatcluster/
#loadfactor=1
<Proxy balancer://tomcatcluster>
BalancerMember ajp://localhost:8009 route=jvm1
BalancerMember ajp://localhost:8109 smax=10 route=jvm2
</Proxy>
3.2修改tomcat
找到conf/server.xml
修改server端口 <Server port="8105" shutdown="SHUTDOWN">
修改Connector端口 <Connector port="8180" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8444" />
<Connector port="8444" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
AJP端口 <Connector port="8109" protocol="AJP/1.3" redirectPort="8444" />
将Engline 节点 修改 再加入以下内容
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm2">
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="4">
<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="4002" autoBind="100" selectorTimeout="5000" 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;"/>
<Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve" />
<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.JvmRouteSessionIDBinderListener" />
<ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener" />
</Cluster>
为了时tomcat访问同一个目录 我设置了一个虚拟路径
在HOST 节点下 加入了
<Context path="/test" docBase="D:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/test"
debug="0" privileged="true" reloadable="true">
<Logger className="org.apache.catalina.logger.FileLogger" prefix="localhost_mysite_log."
suffix=".txt" timestamp="true"/>
</Context>
这里只是利用apache反向代理 等集群
当然,负载均衡技术绝不仅仅只是以上这些(大型的网络一般都是由大量专用技术设备组成的,如包括防火墙、路由器、第3、4层交换机、负载均衡设备、缓冲服务器和Web服务器等。由于第四层交换基于硬件芯片,因此其性能非常优秀,尤其是对于网络传输速度和交换速度远远超过普通的数据包转发。然而,正因为它是使用硬件实现的,因此也不够灵活,仅仅能够处理几种最标准的应用协议的负载均衡,如HTTP 。当前负载均衡主要用于解决服务器的处理能力不足的问题,因此并不能充分发挥交换机带来的高网络带宽的优点。)
)
分享到:
相关推荐
在下载的“apache+tomcat配置文件”中,可能包含了这些配置的示例或模板,可以直接使用或作为参考来配置自己的环境。确保在实际部署前,根据自身的硬件资源和应用需求进行适当的调整,以达到最佳的运行效果。在部署...
"Apache+Tomcat配置信息 JK比较实用"这个标题表明我们将讨论如何结合两者使用,并特别关注JK模块的配置,它用于Apache和Tomcat之间的负载均衡和通信。 Apache的JK模块(mod_jk)是Apache HTTP Server与Tomcat之间的...
【Apache+Tomcat 配置JSP开发环境】 在Java Web开发中,Apache和Tomcat是常见的服务器组合,用于处理动态网页,特别是JSP(JavaServer Pages)的应用。Apache主要作为一个HTTP服务器,而Tomcat是一个Java Servlet...
ArcIMS9.2+Apache+Tomcat配置过程文档。
Apache+Tomcat配置[定义].pdf
Apache + Tomcat 配置负载均衡是Web服务器和应用程序服务器协同工作的典型应用场景,旨在提高网站的可用性和性能。在这个配置中,Apache作为前端HTTP服务器,它接收来自客户端的请求并根据预设策略将这些请求分发给...
### Apache+Tomcat配置说明 #### 一、安装与配置Apache与Tomcat 在搭建Apache与Tomcat联合工作环境之前,首先需要确保Apache服务器已经安装完成,并且版本为2.2。此外,还需要安装FTP服务器以及获取mod_jk.so模块...
本文将详细介绍如何配置 Apache + Tomcat 集群,包括安装 Apache 和 Tomcat 服务器、配置 mod_jk 模块、配置 Apache 和 Tomcat 服务器、配置负载均衡控制器等。 一、安装 Apache 服务器 首先,需要安装 Apache ...
### Linux下配置Apache与Tomcat详解 在Linux环境下配置Apache与Tomcat,是许多Web开发者在部署Java应用时经常遇到的任务。本文将详细介绍如何在Linux系统中安装并配置JDK、Tomcat以及Apache,实现一个基本的Web服务...
这个配置中,Apache作为前端反向代理服务器,Tomcat作为后端的应用服务器,而JK模块是Apache与Tomcat之间的连接器,负责通信和请求分发。以下是关于这个主题的详细知识点: 1. **Apache HTTP Server**:Apache是最...
Windows平台上的Apache+Tomcat配置指南 本文主要讲述如何在Windows平台上搭建一个用于Java平台的Web服务器过程。整个过程中用到的软件包括:Apache的HTTP服务器、JDK6、Tomcat 6、mod_jk。实现的目标是配置完成一个...
配置Apache+Tomcat7+jk负载均衡的基本步骤如下: 1. 安装Apache HTTP Server和Tomcat7,确保它们都能正常运行。 2. 配置mod_jk模块。这通常包括编译和安装mod_jk,然后在Apache的配置文件(如httpd.conf)中加载该...
**步骤3:Tomcat配置** - 修改两个Tomcat实例的`conf/server.xml`文件,启用`Cluster`支持: ```xml className="org.apache.catalina.ha.tcp.SimpleTcpCluster" memberPort="8009" senderClassName="org....
这个压缩包中的“apache配置集群”文件可能包含了具体的配置示例、教程或者脚本,可以帮助你更深入地理解和实践Apache+Tomcat集群的配置。根据实际情况调整这些配置,可以创建一个高效、可靠的Web服务集群。
apache+tomcat整合配置 apache+tomcat整合配置 apache+tomcat整合配置
本文将详细介绍两种不同的Apache+Tomcat配置方案及其具体实施细节。 #### 二、方案一:1Apache + 1Tomcat + mod_jk1.2 ##### 1. **配置步骤** **Apache 配置:** - **worker.properties** 文件配置: ```...