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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • oracle 11g 怎么安装,oracle 11g安装图解 Oracle 11g安装图文教程[通俗易懂]

    oracle 11g 怎么安装,oracle 11g安装图解 Oracle 11g安装图文教程[通俗易懂]之前也找过oracle11g安装图解,不过一直没找到合适的Oracle11g安装图文教程,下面这篇oracle11g安装图解比较详细,希望对Oracle学习者有帮助:一、Oracle下载注意Oracle分成两个文件,下载完后,将两个文件解压到同一目录下即可。路径名称中,最好不要出现中文,也不要出现空格等不规则字符。官方下地址:http://www.oracle.com/technetwo…

    2022年9月21日
    4
  • ContentPlaceHolder必须放在具有 runat=server 的窗体标记内

    ContentPlaceHolder必须放在具有 runat=server 的窗体标记内类型 GridView 的控件 ctl00 contentBody gridView4Exp 必须放在具有 runat server 的窗体标记内 nbsp 页面是从母版页继承的 而 gridview 所在的 ContentPlace 确定是放在 form 中的 以前只有控件未放在 form 中才会抛出同类异常 nbsp 1 nbsp protected nbsp void nbsp btExport Click obje

    2025年10月10日
    3
  • Window 通过cmd查看端口占用、相应进程、杀死进程等的命令

    参考博文01:https://blog.csdn.net/qq_35923749/article/details/83786794博文02:https://blog.csdn.net/qq_24754061/article/details/826607561.查看所有进程的端口使用信息Windows键+R,在弹出的运行窗口中输入cmd,在cmd窗口中输入netstat-ano显示协…

    2022年4月3日
    73
  • javaweb权限管理简单实现_开源权限管理框架

    javaweb权限管理简单实现_开源权限管理框架推荐最新技术springboot版权限管理(java后台通用权限管理系统(springboot)),采用最新技术架构,功能强大!注:由于该项目比较老,所以没有采用maven管理,建议下载springboot权限管理系统,对学习和使用会更有帮助。springboot权限管理系统介绍地址:https://blog.csdn.net/zwx19921215/article/details/978……………

    2022年8月23日
    5
  • 最新SEO寄生虫排名

    最新SEO寄生虫排名黑帽SEO怎么做寄生虫这里说下寄生虫问题!需要的可以联系qQ325和056还有6854.对于小编来说!对寄生虫程序的选择没啥讲究!顺手好用就好!最近新出很多寄生虫!各种各样的,说得有多牛逼多牛逼的!其实都是骗人的、哪个在营销自己的产品的时候不把自己的产品说得好一些!难道会告诉大家垃圾吗?实际上市面上的虫子程序都是把原始版本改版过来的!有的把程序和菜刀软件二合一起来为了大家方便生成,看着简单易操作…

    2022年5月13日
    54
  • 从日记到博客

    从日记到博客我自零八年上大学开始主动写日记,记录一些自己的想法。我特别喜欢在纸上写字的感觉。我会在纸上记录一些想法和反思,自己新见识的事物、经历,与人接触的小摩擦,待人接物的新想法,也有自己的情感的。当看看最初的日记的时候,觉得当时的想法还非常的幼稚。后来经历的一些事情给我很多困惑、苦恼、启发、激励,帮我建立对人、对事的态度和认知。如果不是这些文字,过去的我是什么样子,会有什么样的想法,早就完全忘记了。正是这…

    2022年5月18日
    34

发表回复

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

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