zoukankan      html  css  js  c++  java
  • 使用Apache HTTPD和JK实现Tomcat集群

    昨天在单位折腾了大半天,tomcat的集群终于弄好了,原来以为Tomcat的集群只需要在tomcat本身配置一下就行了呢,找了很多资料,不是自己想像的这样,下面对tomcat的集群做一下整理吧,备用。PS:集群应用涉及到上传是个小问题。

    工具 apache httpd 2.2, jk 1.23 ,tomcat 7

    1.tomcat配置

    以本机下做tomct集群为例,复制三份tomcat,分别修改server.xml文件,修改地方如下:

    1.tomcat关闭时的监听端口
    <Server port="18005" shutdown="SHUTDOWN">
    2.tomcat对外直接访问的端口
        <Connector port="9901" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />
    3.修改tomcat提供其他容器访问的AJP端口
      <Connector port="11009" protocol="AJP/1.3" redirectPort="8443" />
    4.修改tomcat的jvmRoute名称
        <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">

    //说明:蓝色部分是3个tomcat应该修改的,本机下,参数不能一样

    2.一路next安装Apache httpd,将mod_jk-1.2.31-httpd-2.2.3.so复制到apache的modules目录下

    3.修改apache配置

      修改httpd.conf引入mod_jk.conf配置文件

    include conf/mod_jk.conf

    conf目录下新建mod_jk.conf文件,内容如下:

    LoadModule jk_module modules/mod_jk-1.2.31-httpd-2.2.3.so
    JkWorkersFile conf/workers.properties
    #指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器名
    JkMount /*.jsp controller


    #说明: 1.LoadModule 加载jk插件到apache
        2.JkWorkersFile 指定jk配置文件位置
      
        3.JkMount设置过哪些请求滤到tomcat处理,上面是简单示例配置,下面更详细




      在conf目录下新建workers.properties文件,内容如下:

    #server
    worker.list = controller
    #========tomcat1========
    worker.tomcat1.port=11009
    worker.tomcat1.host=localhost
    worker.tomcat1.type=ajp13
    worker.tomcat1.lbfactor =1
    #========tomcat2========
    worker.tomcat2.port=12009
    worker.tomcat2.host=localhost
    worker.tomcat2.type=ajp13
    worker.tomcat2.lbfactor =1
    #========tomcat3========
    worker.tomcat3.port=13009
    worker.tomcat3.host=localhost
    worker.tomcat3.type=ajp13
    worker.tomcat3.lbfactor =1
     
    #========controller,负载均衡控制器========
    worker.controller.type=lb
    worker.controller.balance_workers=tomcat1,tomcat2,tomcat3
    worker.controller.sticky_session=false
    worker.controller.sticky_session_force=1
    #worker.controller.sticky_session=1

    //说明:上面蓝色参数就是tomcat中设置的参数
     其中lbfactor表示服务器作为主服务器的可能性
      

     4.以上配置完成后,就可以在每个tomcat下部署相同的应用,分别启动tomcat,然后启动apache,然后就可以通过http://localhost/web应用名称/XXX访问了,这里不需要使用tomcat的端口,而是通过apache的端口来访问的,apache会自动负载均衡到每个tomcat应用服务器。

  • 相关阅读:
    DBAccess
    业务耗时及数组
    QB资料学习.01
    格式化参数
    日志记录.02_线程处理
    nginx 开启gzip
    js 变量提升和函数提升
    js 深拷贝 vs 浅拷贝
    js 伪数组 转 数组
    js 对象原型和原型链
  • 原文地址:https://www.cnblogs.com/baby-bear/p/3729327.html
Copyright © 2011-2022 走看看