`
fred_张浩
  • 浏览: 32182 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

基于apache的tomcat负载均衡与集群

阅读更多
在之前的项目中使用过IBM的websphere进行负载均衡的配置,鉴于websphere过于沉重与激活问题,尝试使用tomcat进行集群分布,从而实现负载均衡(即由多台服务器来分担访问量,这样在一个服务器上的压力就会减小很多,你可以根据自己的需求去配置任意多的服务器来支撑你的应用系统,如果一台服务崩溃了,那么另外的应用服务器依然可以继续支持应用继续服务。)
   为了实现负载均衡,就自然产生两个问题,
1、如何在多台服务器之间进行session共享,保证一台宕机的情况下另外的服务器可以正常运行(该问题在下文中论述tomcat的会话复制问题),2、如何对访问请求进行分配到不同的服务器。对于这两个问题,我们就需要有一个负责负载均衡的web服务器去完成请求的分配与session的共享(本文暂不对此原理进行讨论)。
  对于apache服务器和tomcat的连接方法了解到有三种:mod_JK、http_proxy和ajp_proxy.本文针对mod_jk进行学习,由于条件有限,不在不同的服务器上进行集群垂直分布,而采用同一台服务器端口号不同的方式进行集群水平分布,
使用的环境配置为:apache 2.4 + tomcat 7 + mod_jk2.4.17进行集群分布式管理
安装包下载:http://www.apachelounge.com/download/;
具体配置步骤如下:
1、apache2.4安装注册,从官网下载压缩包,解压进入bin目录,cmd模式进入该目录进行服务注册:httpd.exe -k install;(注意管理员模式防止注册失败)。注册完成后如图1:
2、安装tomcat。官网直接下载tomcat,修改文件名tomcat1复制并修改tomcat2;
3、使用mod_jk进行集群管理:
    a、在apache24/conf目录下新建workers.properties文件,管理容器列表,内容如下:
          
 worker.list = controller,tomcat1,tomcat2  #server 列表    
            #========tomcat1========    
            worker.tomcat1.port=8019       #ajp13 端口号,在tomcat下server.xml配置,默认8009    
            worker.tomcat1.host=localhost  #tomcat的主机地址,如不为本机,请填写ip地址    (若垂直分布则在此修改不同的主机地址)
            worker.tomcat1.type=ajp13    
            worker.tomcat1.lbfactor = 1    #server的加权比重,值越高,分得的请求越多    
   
            #========tomcat2========    
        worker.tomcat2.port=8029       #ajp13 端口号,在tomcat下server.xml配置,默认8009    
        worker.tomcat2.host=localhost  #tomcat的主机地址,如不为本机,请填写ip地址    
        worker.tomcat2.type=ajp13    
        worker.tomcat2.lbfactor = 2    #server的加权比重,值越高,分得的请求越多    
   
        #========controller,负载均衡控制器========    
        worker.controller.type=lb    
        worker.controller.balanced_workers=tomcat1,tomcat2   #指定分担请求的tomcat    
        worker.controller.sticky_session=1
    b、在apache24/conf目录下新建mod_jk.conf文件,进行负载均衡配置,内容如下:
          
 #加载mod_jk Module  
            LoadModule jk_module modules/mod_jk.so
 
            #指定 workers.properties文件路径  
            JkWorkersFile conf/workers.properties  
 
            #指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器  
            JkMount /* controller  
    c、在apache24/conf目录下httpd.conf中增加mod_jk.conf文件的管理:
            文件末尾加入:
include conf/mod_jk.conf

4、修改tomcat1、tomcat2端口设置conf/server.xml(若不同服务器集群垂直分布,即每台服务器只安装一个tomcat则不需要修改):
      
 --<Connector port="8019" protocol="AJP/1.3" redirectPort="8443" />---与workers.properties中对应分别修改为8019/8029;
        --<Server port="8105" shutdown="SHUTDOWN">---port修改 进行区分8105/8205,默认为8005
        --<Connector port="8180"                                       ----port修改为8180/8280,默认为8080;
5、将编译好的web项目分别放入tomcat下webapps目录下,启动apache、tomcat1、tomcat2。访问http://127.0.0.1/test/index.jsp观察tomcat1与2的测试情况如下图2


△过程中遇到的问题及注意点:
1、本文中的测试是采用水平分布
2、apache启动:通过bin目录下的ApacheMonitor.exe,进行服务管理,若启动失败,则可能是如下问题:
        a、apache默认的80端口被占用,检查方法:cmd命令下:netstat -ano,若存在80端口则根据PID查询该端口的被占用程序进行相关处理,本文中该端口被SQL server reporting services(SQLEXPRESS)占用,解决为关闭改服务;
        b、apache24/conf/httpd.conf中apache24的路径配置不正确。问题原因查询:在运行下输入event选择事件查看器,通过查看日志定位错误
        c、mod_jk与apache版本不匹配,解决方法:下载匹配的关联版本。
  • 大小: 107.8 KB
  • 大小: 139 KB
分享到:
评论

相关推荐

    Apache Tomcat 负载均衡

    本文将基于提供的文件信息,深入解析Apache Tomcat负载均衡的配置与实现机制。 ### 一、理解Apache Tomcat负载均衡 负载均衡在IT领域是指将工作负载(如网络流量或数据处理任务)分布到多个计算资源(如服务器)上...

    基于apache的tomcat负载均衡和集群配置_mod jk

    Apache的Tomcat负载均衡与集群配置是Web服务器和应用服务器扩展性能的重要手段,它通过将请求分散到多个服务器上,可以提高系统的响应速度和可用性。在这个过程中,mod_jk模块扮演了关键角色,它是Apache HTTP服务器...

    基于apache的tomcat负载均衡和集群配置

    总之,Apache Tomcat的负载均衡和集群配置涉及到多个配置文件的设置,包括`mod_jk.conf`、`workers.properties`和`uriworkermap.properties`。理解并正确配置这些文件对于构建一个高效、可靠的Java应用服务环境至关...

    Apache的Tomcat负载均衡和集群(linux,centos)

    Apache 的 Tomcat 负载均衡和集群 ( linux, centos) jkmod

    Apache+Tomcat负载均衡与集群配置详解

    配置Apache+Tomcat负载均衡集群,我们需要以下软件和硬件环境: - **软件**: - JRE(JDK)6u3:用于Java应用程序的运行。 - Tomcat 6.0.14:Web应用服务器。 - Apache 2.2.6:作为负载均衡器。 - mod_jk-2.2.4...

    实现基于nginx的tomcat负载均衡和集群配置

    总结来说,通过Nginx实现基于Tomcat的负载均衡和集群配置,可以有效提高Web服务的可用性、响应速度和扩展性。这不仅降低了单点故障的风险,还能够根据服务器性能动态调整请求分配,从而优化资源利用。在实际部署中,...

    Apache Tomcat负载均衡及Session绑定的实现.rar

    3集群是一组协同工作的服务实体,用以提供比单一服务实体更具扩展性与可用性的服务平台。在客户端看来,一个集群就象是一个...欢迎下载:Apache Tomcat负载均衡及Session绑定的实现.doc,共10页,3千多字,图文教程!

    Apache+tomcat负载均衡

    在这个配置中,`&lt;Proxy&gt;`指令定义了一个名为"mycluster"的负载均衡集群,包含两个成员(t1和t2),分别对应本地和另一台服务器上的Tomcat实例。`lbmethod=byrequests`表示按请求数进行负载分配。`ProxyPass`和`...

    Mod_Proxy+Apache+Tomcat负载均衡与集群配置

    在当今的企业级应用中,确保系统的高可用性和稳定性是至关重要的。这通常通过建立集群来实现,即通过部署多台服务器来提供相同的服务,以此来...这样,就完成了整个Mod_Proxy+Apache+Tomcat负载均衡与集群的配置过程。

    Apache,Tomcat负载均衡和集群

    Apache Tomcat 负载均衡和集群是企业级应用服务器部署中常见的技术,它能够提高系统的可用性、可扩展性和性能。在这个主题中,我们将深入探讨如何通过Apache HTTP Server(通常简称为Apache)配合Tomcat实现负载均衡...

    Apache,Tomcat集群和负载均衡

    Tomcat集群和负载均衡包括了apache-tomcat-5.5.29.zip,apache_2.2.4-win32-x86-no_ssl.msi,mod_jk-1.2.28-httpd-2.2.3.so,ApacheTomcat整合文档.doc,Apache,Tomcat集群和负载均衡教程.doc,Tomcat负载均衡.pdf

    jk+apache+tomcat整合 负载均衡 集群

    jk+apce+tomcat 整合 实现tomcat负载均衡 tomcat集群。让tomcat处理.jsp动态页面,apache处理静态页面。平且实现在一个IP下提供多个站点服务。 里面包括怎样配置apache虚拟机文件 怎样配置tomcat的虚拟机文件 花了我...

    apachetomcat负载均衡整合文档.pdf

    通过以上步骤,可以构建一个基本的Apache Tomcat负载均衡系统,提供高可用性和高性能的服务。在实际部署中,还需要考虑安全性、日志管理、故障切换以及性能监控等多个方面,以确保系统的稳定运行。

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

    【Apache Tomcat MySQL 多服务器集群负载均衡】 在IT领域,构建高可用性和高可扩展性的系统是关键,特别是对于大型企业或高流量网站。Apache Tomcat MySQL多服务器集群负载均衡解决方案旨在通过分布式架构和负载...

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

    本主题主要探讨的是如何在Apache2.2和Tomcat-6.0.18环境下实现负载均衡与集群,以提高系统的可用性和响应速度。 Apache2.2是一个开源的HTTP服务器,它能够通过模块化设计来支持多种功能,如SSL/TLS加密、URL重写、...

Global site tag (gtag.js) - Google Analytics