Tomcat集群配置笔记

Tomcat集群配置笔记

大家好,又见面了,我是全栈君。

1. 软件环境:
 Apache: Apache_2.2.14 (1个)

 mod_jk: mod_jk_1.2.28_httpd_2.2.3.so (1个)

 tomcat: tomcat5.5.7(2个)

2.把mod_jk_1.2.28_httpd_2.2.3.so拷入apache安装目录modules下。

3.在apache的安装目录下找到httpd.conf文件,我的目录为D:\Apache2.2\conf。

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

#============================================

#加载mod_jk Module

LoadModule jk_module modules/mod_jk-apache-2.0.55.so

#指定 workers.properties文件路径(在第三步我们建立该文件)

JkWorkersFile conf/workers.properties

#指定那些请求交给tomcat处理,”controller”为在workers.propertise里指定的负载分配控制器

JkMount /*.jsp controller

#==============================================

修改httpd.conf, 在文件最后加上下面一句话:

include “D:\Apache2.2\conf\mod_jk.conf”

3.同上一目录新建workers.properties,内容如下:

worker.list = controller,tomcat1,tomcat2  #server 列表

#========tomcat1========

worker.tomcat1.port=8009      #ajp13 端口号,在tomcat下server.xml配置,默认8009

worker.tomcat1.host=localhost #tomcat的主机地址,如不为本机,请填写ip地址

worker.tomcat1.type=ajp13

worker.tomcat1.lbfactor = 1   #server的加权比重,值越高,分得的请求越多

#========tomcat2========

worker.tomcat2.port=9009      #ajp13 端口号,在tomcat下server.xml配置,默认8009

worker.tomcat2.host=localhost #tomcat的主机地址,如不为本机,请填写ip地址

worker.tomcat2.type=ajp13

worker.tomcat2.lbfactor = 1   #server的加权比重,值越高,分得的请求越多

#========controller,负载均衡控制器========

worker.controller.type=lb

worker.controller.balanced_workers=tomcat1,tomcat2   #指定分担请求的tomcat

worker.controller.sticky_session=1 #会话粘性,大于0表示同一会有同一TOMCAT处理

4.修改TOMCAT的配置,这里主要是防止端口冲突,如果TOMCAT位于不同主机上,可SHIP该步。

   tomcat1: <Server port=”8005″ shutdown=”SHUTDOWN”>

            <!– Define a non-SSL HTTP/1.1 Connector on port 8080 –>

            <Connector port=”8080″ maxHttpHeaderSize=”8192″

               maxThreads=”150″ minSpareThreads=”25″ maxSpareThreads=”75″

               enableLookups=”false” redirectPort=”8443″ acceptCount=”100″

               connectionTimeout=”20000″ disableUploadTimeout=”true” />

   

   tomcat2: <Server port=”8005″ shutdown=”SHUTDOWN”>

             <!– Define a non-SSL HTTP/1.1 Connector on port 8080 –>

              <Connector port=”8090″ maxHttpHeaderSize=”8192″

               maxThreads=”150″ minSpareThreads=”25″ maxSpareThreads=”75″

               enableLookups=”false” redirectPort=”8443″ acceptCount=”100″

               connectionTimeout=”20000″ disableUploadTimeout=”true” />
5.配置集群打开各自的<Cluster>.

   

  tomcat1: <Cluster className=”org.apache.catalina.cluster.tcp.SimpleTcpCluster”

                 managerClassName=”org.apache.catalina.cluster.session.DeltaManager”

                 expireSessionsOnShutdown=”false”

                 useDirtyFlag=”true”

                 notifyListenersOnReplication=”true”>
            <Membership 

                className=”org.apache.catalina.cluster.mcast.McastService”

                mcastAddr=”228.0.0.4″

                mcastPort=”45564″

                mcastFrequency=”500″

                mcastDropTime=”3000″/>
            <Receiver 

                className=”org.apache.catalina.cluster.tcp.ReplicationListener”

                tcpListenAddress=”auto”

                tcpListenPort=”4001″

                tcpSelectorTimeout=”100″

                tcpThreadCount=”6″/>
            <Sender

                className=”org.apache.catalina.cluster.tcp.ReplicationTransmitter”

                replicationMode=”pooled”

                ackTimeout=”15000″

                waitForAck=”true”/>
            <Valve className=”org.apache.catalina.cluster.tcp.ReplicationValve”

                   filter=”.*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;”/>

                   

            <Deployer className=”org.apache.catalina.cluster.deploy.FarmWarDeployer”

                      tempDir=”/tmp/war-temp/”

                      deployDir=”/tmp/war-deploy/”

                      watchDir=”/tmp/war-listen/”

                      watchEnabled=”false”/>

            <ClusterListener className=”org.apache.catalina.cluster.session.ClusterSessionListener”/>

        </Cluster>      

   tomcat2: 同上,tcpListenPort=”4001″ 这里改为tcpListenPort=”4002″

6.添加<distributable/>到web.xml.

例:<?xml version=”1.0″ encoding=”UTF-8″?>

<web-app version=”2.5″ xmlns=”
http://java.sun.com/xml/ns/javaee

 xmlns:xsi=”
http://www.w3.org/2001/XMLSchema-instance

 xsi:schemaLocation=”
http://java.sun.com/xml/ns/javaee 

 
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd“>

 <distributable/>

….
本文转自 anranran 51CTO博客,原文链接:

http://blog.51cto.com/guojuanjun/327653

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107896.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • dataGrip 2021.4.12 激活码【在线破解激活】

    dataGrip 2021.4.12 激活码【在线破解激活】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月17日
    54
  • oracle行转列函数 聚合_oracle查询结果行转列

    oracle行转列函数 聚合_oracle查询结果行转列如需转载请标明出处1.使用条件查询查询部门为20的员工列表–查询部门为20的员工列表SELECTt.DEPTNO,t.ENAMEFROMSCOTT.EMPtwheret.DEPTNO=’20’;效果:2.使用listagg()WITHINGROUP()将多行合并成一行(比较常用)SELECT T.DEPTNO, li…

    2022年9月7日
    1
  • RestController注解

    RestController注解@RestController是一个组合注解,写在类上面,是组合了@ResponseBody和@Controller,默认了类中所有的方法都包含ResponseBody注解的一种简写形式@SpringBootApplication@RestControllerpublicclassApp{publicstaticvoidmain(String[]args)…

    2022年6月26日
    39
  • CAP定理整理_craig定理

    CAP定理整理_craig定理CAP定理是分布式系统设计中最基础、最关键的理论,CAP定理又称CAP原则,指的是在一个分布式系统中,Consistency(一致性)、Availability(可用性)、Partitiontolerance(分区容错性),最多只能同时三个特性中的两个,三者不可兼得CAP的定义Consistency(一致性):“allnodesseethesamedataatthe…

    2025年6月23日
    0
  • linux lefse分析,科学网-linux本地化进行lefse分析-林国鹏的博文

    linux lefse分析,科学网-linux本地化进行lefse分析-林国鹏的博文注:参考来自网络,如侵权则删。##对应于上述A-F6个模块,本地版的命令行操作示例如下#A,设置LEfSe的数据格式,详情format_input.py-h#-c,指定class的行(必须指定);-s,指定sub_class的行(可缺省);#-u,指定subject_id的行(可缺省);-o,设置归一化值,默认-1即不执行标准化#注:版本问题,有时format_in…

    2022年4月29日
    52
  • 《JavaScript 模式》读书笔记(4)— 函数4

    这篇文章我们主要来学习下即时对象初始化、初始化时分支、函数属性-备忘模式以及配置对象。这篇的内容会有点多。六、即时对象初始化保护全局作用域不受污染的另一种方法,即时对象初始化模式。这种模式使用带有

    2022年3月25日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号