• Apache+Tomcat做集群和负载均衡(分组负载均衡)

    普通类
    • 支持
    • 批判
    • 提问
    • 解释
    • 补充
    • 删除
    • 前言

    Apache+Tomcat做集群和负载均衡,了解的人看的。

     

    • 案例需求

    目前有3Linux服务器,2个网站项目,1Apache4Tomcat。让你为这2个网站分别做集群和负载均衡。

    并且有2个域名同时绑定到一个IP,这2个域名就是分别是2个网站对应的。

     清单:

         服务器A        IP 192.168.1.1 (绑定了2个域名qq.comtuan.qq.com,装有Apache的服务器)

        服务器B        IP 192.168.1.2 (后置应用服务器装有2Tomcat,分别来运行2个网站。TomcatQQ1TomcatTuan1

        服务器C       IP 192.168.1.3 (后置应用服务器装有2Tomcat,分别来运行2个网站。TomcatQQ2 和 TomcatTuan2

      1、访问qq.com 实际上访问的是TomcatQQ1TomcatQQ2中的其中一个,这2Tomcat来做qq.com这个域名过来的 请求;

     2、访问tuan.qq.com实际上访问的是TomcatTuan1TomcatTuan2中的其中一个,这2Tomcat来做tuan.qq.com发来的请求。

    肯定要在Apache的配置文件(http.conf)中配置虚拟主机,基于域名的虚拟主机,来实现一个服务器运行多个网站。

    • 配置

    #########################http.conf配置####################
    AddDefaultCharset off
    LoadModule jk_module modules/mod_jk-1.2.26-httpd-2.2.4.so
    JkWorkersFile conf/workers.properties

    NameVirtualHost *:80

    #qq网站的虚拟主机

    <VirtualHost *:80>
        ServerAdmin
     
        ServerName www.qq.com
        ServerAlias qq.com
        JkMount /* controller

    </VirtualHost>

    #tuan.qq网站的虚拟主机

    <VirtualHost *:80>
        ServerAdmin
     
        ServerName  www.tuan.qq.com
        ServerAlias   tuan.qq.com
        JkMount /* controllerTuan
    </VirtualHost>

     

    #######################workers.properties#####################

     

    worker.list = controller,controllerTuan  #server 列表
    #========tomcat1========
    worker.
    TomcatQQ1.port=8009       #ajp13
    端口号,在tomcatserver.xml配置,默认8088
    worker.
    TomcatQQ1.host=192.168.1.2  #tomcat
    的主机地址,如不为本机,请填写ip地址
    worker.TomcatQQ1.type=ajp13
    worker.
    TomcatQQ1.lbfactor = 1   #server
    的加权比重,值越高,分得的请求越多


    #========tomcat2========
    worker.
    TomcatQQ2.port=8009    
    worker.TomcatQQ2.host=192.168.1.3

    worker.TomcatQQ2.type=ajp13
    worker.
    TomcatQQ2.lbfactor = 1 

    #========tomcatEpass1========
    worker.
    TomcatTuan1.port=8010    
    worker.TomcatTuan1.host=192.168.1.2

    worker.TomcatTuan1.type=ajp13
    worker.
    TomcatTuan1.lbfactor = 1

    #========tomcatEpass2========
    worker.
    TomcatTuan2.port=8010    
    worker.TomcatTuan2.host=192.168.1.3

    worker.TomcatTuan2.type=ajp13
    worker.
    TomcatTuan2.lbfactor = 1


    #========controller,负载均衡控制器========
    worker.
    controller.type=lb
    worker.
    controller.balanced_workers=TomcatQQ1,TomcatQQ2   #
    指定分担请求的tomcat
    worker.
    controller.sticky_session=True 
    worker.controller.sticky_session_force=False


    #========controllerTuan,负载均衡控制器========
    worker.
    controllerTuan.type=lb
    worker.
    controllerTuan.balanced_workers=TomcatTuan1,TomcatTuan2  #
    指定分担请求的tomcat
    worker.
    controllerTuan.sticky_session=True 
    worker.controllerTuan.sticky_session_force=False

     

    #### The End #######

     

    Tomcat中的serivce.xml的配置就不写了,可以去参考其他的资料。

    这里的配置是对4tomcat进行了分组,分成2组。对每一组分别做负载均衡。2个虚拟主机根据配置JkMount /* controllerTuan   和  JkMount /* controller  来决定将请求分发给那一组的tomcat。这样就做好了。

    • 标签:
    • 均衡
    • controller
    • 配置
    • 分组
    • 域名
    • tomcat
    • 网站
    • 服务器
    • 请求
    • 虚拟主机
    • 集群
    • 负载
  • 加入的知识群:
    学习元评论 (0条)

    评论为空
    聪明如你,不妨在这 发表你的看法与心得 ~



    登录之后可以发表学习元评论
      
暂无内容~~
顶部