`
7wolfs
  • 浏览: 182661 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Apache 负载均衡的环境搭建 (使用Tomcat作为web server)

    博客分类:
  • Java
 
阅读更多
前言
使用tomcat作为web server,搭建Apache 负载均衡的测试环境时,参阅了网上的一些资料。发现资料发布者的本地环境与自己的开发环境差别很大,不能根据网上资料成功搭建起集群测试环境。搭建过程中,遇到了各种问题,比如:多了IPV6协议、Apache服务在win 7 64位机器下的设置等。不过在此,还是要感谢网上资料的提供者,给了我一些参考。下面,我整理了我使用Apache配置Tomcat的过程,供大家参考。在文章的最后,列出了我遇到的问题及解决方案。本次环境搭建是为了测试Apache负载均衡的基本功能,不涉及到tomcat自身集群特性和apache各种负载均衡策略的验证,这次环境搭建只是作为对负载均衡概念的感性认识,更详细的细节,会在以后的研究中逐步深入。

配置过程:
一、本机环境
操作系统:win 7 64位 (带有IPV4、IPV6协议)
JDK:j2sdk1.4.2_19
apache: apache_2.2.2-win32-x86-no_ssl.msi
tomcat:apache-tomcat-5.5.33.zip

apache和tomcat可以在他们的官网上下载到。

二、安装
1. apache安装:双击apache的安装文件,选择推荐的“端口80...”的安装选项,按照提示输入域名、管理员邮箱(这些值不需要是真实的)。
2. tomcat安装:将压缩包分别解压到两个不同目录里,作为两个测试用的tomcat服务器。

三、参数设置
1. apache参数设置:修改httpd.conf
1)将httpd.conf文件里提到的下面三个so文件引用说明中的最前端的注释符号‘#’去掉,使apache引导这三个插件,他们在集群环境里分别起到代理、负载均衡、支持http网络协议等职责。
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#LoadModule proxy_http_module modules/mod_proxy_http.so

2) 在httpd.conf文件末尾,加入如下内容
ProxyRequests Off  
<Proxy balancer://mycluster>  
    BalancerMember http://localhost:12080  
    BalancerMember http://localhost:11080  
</Proxy>  
ProxyPass / balancer://mycluster/ 

BalancerMember 条目中可以设置具体的负载均衡策略。

2.Tomcat参数设置
由于使用一台机器做集群环境的搭建测试,所以为了避免两个tomcat服务器端口冲突,需要修改他们的端口。
第一个tomcat服务器的server.xml文件修改内容如下:
<Server port="8005" shutdown="SHUTDOWN">

<Connector address="127.0.0.1"  port="11080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />

<Connector  port="11009" protocol="AJP/1.3" redirectPort="8443"/>


第二个tomcat服务器的server.xml文件修改内容如下:
<Server port="8005" shutdown="SHUTDOWN">

<Connector address="127.0.0.1"  port="12080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />

<Connector  port="12009" protocol="AJP/1.3" redirectPort="8443"/>


四、启动服务器
1. 启动apache,可以通过windows的‘服务’来启动apache,或者使用apache自带命令‘ httpd -k restart -n 服务名’来启动apache
2. 分别启动两个tomcat,执行startup.bat

五、测试
使用附件中测试程序test.rar,将它解压到tomcat的webapps目录里。测试程序test2.jsp里的负载均衡下的请求分发的体现:
.......
//request.getLocalAddr和request.getLocalPort体现了实际处理请求的web server地址和端口
<%
out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>");%>
......


在浏览器中输入http://127.0.0.1/test/test2.jsp,不断刷新该地址,会在两个tomcat的控制台中看到从apache转发过来的请求。这个结果验证了apache的负载均衡已经起作用了。


下面是我配置过程中遇到的一些问题及解决方案。
问题列表:
1. Apache服务在win 7 64位机器下的设置
现象:“控制面板\所有控制面板项\用户帐户\更改用户账户控制设置”里的级别设定,如果不设成‘从不通知’,会造成apache httpd安装完后,无法生成window服务,无法控制httpd的启动和关闭。
解决方案:安装apache httd之前,先把“控制面板\所有控制面板项\用户帐户\更改用户账户控制设置”里的级别设定改成‘从不通知’。安装完后,在控制httpd启动和关闭时,也需要保证该级别为‘从不通知’。

2. IPV6协议的影响
现象:如果本机装了IPV6协议,则tomcat启动后,tomcat使用的IP是IPV6协议下的IP(如localhost解析为::1),访问tomcat下的localhost应用,如果想通过IP形式,需使用http://[::1]:8080/格式。这会与apache httpd的转发机制想抵制。apache httpd转发localhost请求,使用的是IPV4协议(localhost为127.0.0.1)。
解决方案:为了使tomcat与apache httpd使用相同版本IP协议。在tomcat的server.xml中,修改http1.1下的connector设置,增加address="127.0.0.1"属性。
设置如下:
<Connector address="127.0.0.1" port="11080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" />


3. 错误的分析
当遇到异常情况时,查看apache下的日志文件内容。
0
0
分享到:
评论

相关推荐

    实例Apache负载均衡+Tomcat集群

    在搭建Apache负载均衡和Tomcat集群之前,需要准备相应的硬件设备。文中提到使用两台服务器,每台服务器上部署两个Tomcat实例,形成一个包含四个Tomcat实例的集群。这里的服务器可以是实体服务器,也可以使用虚拟机。...

    Apache2.2+tomcat6.0搭建负载均衡服务器

    通过以上步骤,你可以创建一个基本的Apache2.2+Tomcat6.0负载均衡服务器,为高流量的Web应用提供稳定的服务。然而,实际部署中可能还需要考虑SSL配置、安全策略、性能优化和其他高级负载均衡策略,如轮询、最少连接...

    nginx负载均衡代理多个tomcat搭建实例过程

    "Nginx负载均衡代理多个Tomcat搭建实例过程" 一、Nginx安装与配置 Nginx是一款轻量级的Web服务器,反向代理和负载均衡都是其特色功能。本节主要介绍Nginx的安装和基本配置。 1.1 安装Nginx Nginx提供免费版本,...

    搭建apache(静态资源)+tomcat(动态网页)负载均衡服务器集群.zip_tomcat分布式

    由于Tomcat在处理动态内容时的性能相对较弱,尤其是在面对大量并发请求时,因此在高负载环境下,将Apache设置为前端,通过反向代理或者负载均衡器将静态请求直接响应,将动态请求转发至Tomcat,可以显著提升整体系统...

    Windows+Nginx+Tomcat搭建负载均衡和集群环境同时实现

    本教程将探讨如何在Windows环境下,利用Nginx作为反向代理和负载均衡器,与Tomcat应用服务器配合,搭建一个负载均衡和集群环境。这种配置能够提升系统的稳定性和处理能力,确保即使在服务器压力大的情况下,也能为...

    linux_apache+tomcat负载均衡安装和调试.pdf

    Linux、Apache 和 Tomcat 的组合是搭建高性能 Web 应用服务器的常见选择,而通过负载均衡技术可以进一步提升系统的稳定性和处理能力。本文将详细阐述如何在 Linux 系统上安装、配置 Apache 与 Tomcat,并实现负载...

    Linux环境搭建 Apche+Tomcat 集群负载均衡

    ### Linux环境下Apache+Tomcat集群负载均衡搭建详解 在企业级应用中,为了提升服务器的稳定性和处理能力,常采用Apache+Tomcat集群的方式来进行负载均衡。本文将详细介绍如何在Linux环境下搭建Apache+Tomcat集群...

    nginx-1.11.3+apache-tomcat-7.0.47搭建高性能负载均衡集群

    通过本文的学习,你应该能够熟练地使用Nginx和Apache Tomcat搭建一个高性能的负载均衡集群。这种集群不仅可以提高网站的响应速度,还可以增强系统的稳定性和安全性。在未来的工作中,你可以根据实际情况对配置进行...

    apache tomcat mysql多服务器集群负载均衡

    Apache作为Web服务器和负载均衡调度器,Tomcat作为Java应用服务器,MySQL作为关系型数据库管理系统。通常,这种架构会包括多个Apache服务器、多个Tomcat服务器和至少一个MySQL服务器,形成集群,以提高整体系统的...

    Nginx+Tomcat搭建高性能负载均衡集

    在构建高性能的Web服务时,一个常见的架构是使用Nginx作为反向代理和负载均衡器,结合Tomcat作为应用服务器。Nginx以其高效、轻量级的特性,能够处理大量的并发连接,并且可以将请求分发到多个后端Tomcat服务器,...

    Apache+Tomcat集群和负载均衡的资料

    ### Apache+Tomcat集群与负载均衡配置详解 #### 一、环境说明 ...通过以上步骤,我们可以成功地搭建起一个基于Apache和Tomcat的负载均衡系统,有效地分散了单个服务器的压力,提高了系统的可用性和稳定性。

    Tomcat集群和负载均衡.txt

    为了搭建Tomcat集群并实现负载均衡,我们需要准备以下环境: 1. **硬件资源**: - 4台服务器,其中1台安装Apache,另外3台安装Tomcat。 - 每台服务器的具体IP地址分别为:安装Apache的服务器IP为192.168.0.88;...

Global site tag (gtag.js) - Google Analytics