文档章节

Tomcat集群配置

金馆长1
 金馆长1
发布于 2016/04/07 10:31
字数 776
阅读 76
收藏 5

一、安装Apache服务器:

http://archive.apache.org/dist/httpd/binaries/win32/httpd-2.2.25-win32-x86-no_ssl.msi

下载后安装成功后 在浏览器中输入 http://localhost/,测试是否安装成功。


二、 安装tomcat:

因为是集群,所有解压两个tomcat去模拟


但是两个tomcat同时开的话会端口冲突所以需要改一下端口号。


三、安装下载mod_jk:

下载地址: http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.31/mod_jk-1.2.31-httpd-2.2.3.so


四、开始配置负载均衡:

1.将下载后的mod_jk-1.2.31-httpd-2.2.3.so放到  C:\Program Files (x86)\Apache Software Foundation\Apache2.2\modules(这个是我的安装路径)

2.在C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf(同样是我的路径)下

创建一个mod_jk.conf,内容为:

#加载mod_jk Module

LoadModule jk_module modules/mod_jk-1.2.31-httpd-2.2.3.so


 #指定workers.properties文件路径 

JkWorkersFile conf/workers.properties

 

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

JkMount /* controller


3.

然后在C:\Program Files (x86)\Apache Software Foundation\Apache2.2\conf创建一个workers.properties的文件,添加如下内容

 

#server

worker.list = controller

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

#ajp13端口号,在tomcatserver.xml配置,默认8009

worker.tomcat1.port=8009

 

#tomcat的主机地址,如不为本机,请填写ip地址 

worker.tomcat1.host=localhost

 

#协议类型

worker.tomcat1.type=ajp13

 

#server的加权比重,值越高,分得的请求越多。lbfactor是负载平衡因数(Load Balance Factor)

worker.tomcat1.lbfactor=1

 

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

worker.tomcat2.port=9009

worker.tomcat2.host= localhost

worker.tomcat2.type=ajp13

worker.tomcat2.lbfactor=1

 

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

#负载均衡控制器类型,lbfactor是负载平衡因数(Load Balance Factor)

worker.controller.type=lb

 

#指定分担请求的tomcat列表

worker.controller.balanced_workers=tomcat1,tomcat2

 

#粘性session(默认是打开的当该属性值=true(或1)时,代表session是粘性的,即同一session在集群中的同一个节点上处理,session不跨越节点。在集群环境中,一般将该值设置为false

worker.controller.sticky_session=false

 

#设置用于负载均衡的serversession可否共享

worker.controller.sticky_session_force=1

 

4.最后在修改C:\cluster\httpd\conf\httpd.conf,在其最后添加如下内容:

 

Include conf/mod_jk.conf

 

到此负载均衡服务器配置完成!


五、配置tomcat:

1.刚才解压了两个tomcat,首先打开第一个tomcat,找到conf里面的server.xml,

在配置<Engine>中添加jvmRoute="tomcat1",名称与worker.controller.balanced_workers=tomcat1,tomcat2对应

然后再<Engine>下添加如下内容:

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8">

 

          <Manager className="org.apache.catalina.ha.session.DeltaManager"

                   expireSessionsOnShutdown="false"

                   notifyListenersOnReplication="true"/>

 

          <Channel className="org.apache.catalina.tribes.group.GroupChannel">

           <Membership className="org.apache.catalina.tribes.membership.McastService"

                            address="228.0.0.4"

                            port="45564"

                            frequency="500"

                            dropTime="3000"/>

                <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"

                          address="auto"

                          port="4000"

                          autoBind="100"

                          selectorTimeout="5000"

                          maxThreads="6"/>

 

           <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">

            <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>

          </Sender>

           <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>

           <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>

          </Channel>

 

          <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/>

          <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>

 

          <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"

                    tempDir="/tmp/war-temp/"

                    deployDir="/tmp/war-deploy/"

                    watchDir="/tmp/war-listen/"

                    watchEnabled="false"/>

 

          <ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>

          <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>

       </Cluster>

 

第一个tomcat配置完成。

2.开始配置第二个tomcat:

其他的内容同上,不过要改成 Engine 里面的jvmRoute="tomcat2"

其他配置粘贴的一样粘贴进去,

不同的是要改一下这一台tomcat的端口号

然后修改http1.1的端口,默认是8080

最后修改AJP1.3端口,默认是8009



这个AJP1.3的端口必须与workers.properties文件中的配置

worker.tomcat2.port=9009
保持一下。


配置完成。

启动两个tomcat:






© 著作权归作者所有

共有 人打赏支持
上一篇: 表的设计
下一篇: memcached初步
金馆长1
粉丝 17
博文 43
码字总数 29363
作品 0
海淀
程序员
私信 提问

暂无文章

Confluence 6 升级中的一些常见问题

升级的时候遇到了问题了吗? 如果你想尝试重新进行升级的话,你需要首先重新恢复老的备份。不要尝试再次对 Confluence 进行升级或者在升级失败后重新启动老的 Confluence。 在升级过程中的一...

honeymoose
今天
2
0
C++随笔(四)Nuget打包

首先把自己编译好的包全部准备到一个文件夹 像这样 接下来新建一个文本文档,后缀名叫.nuspec 填写内容 <?xml version="1.0"?><package xmlns="http://schemas.microsoft.com/packaging/201......

Pulsar-V
今天
2
0
再谈使用开源软件搭建数据分析平台

三年前,我写了这篇博客使用开源软件快速搭建数据分析平台, 当时收到了许多的反馈,有50个点赞和300+的收藏。到现在我还能收到一些关于dataplay2的问题。在过去的三年,开源社区和新技术的发...

naughty
今天
5
0
Python3的日期和时间

python 中处理日期时间数据通常使用datetime和time库 因为这两个库中的一些功能有些重复,所以,首先我们来比较一下这两个库的区别,这可以帮助我们在适当的情况下时候合适的库。 在Python文...

编程老陆
今天
2
0
分布式面试整理

并发和并行 并行是两个任务同时进行,而并发呢,则是一会做一个任务一会又切换做另一个任务。 临界区 临界区用来表示一种公共资源或者说是共享数据,可以被多个线程使用,但是每一次,只能有...

群星纪元
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部