Tomcat集群配置笔记 ( by quqi99 )
作者:张华 发表于:2011-04-06
版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明
( http://blog.csdn.net/quqi99 )
h1 { margin-top: 0.6cm; margin-bottom: 0.58cm; line-height: 200%; page-break-inside: avoid; }h1.western { font-family: "Times New Roman",serif; font-size: 22pt; }h1.cjk { font-family: "Arial Unicode MS"; font-size: 22pt; font-style: normal; font-weight: bold; }h1.ctl { font-size: 22pt; font-weight: bold; }h1.样式-标题-1- + -四号-western { font-family: "Times New Roman",serif; font-size: 14pt; line-height: 150%; }h1.样式-标题-1- + -四号-cjk { font-family: "Arial Unicode MS"; font-style: normal; font-weight: bold; line-height: 150%; }h1.样式-标题-1- + -四号-ctl { font-size: 22pt; font-weight: bold; line-height: 150%; }p { margin-bottom: 0.21cm; }a:link { color: rgb(0, 0, 255); }
一.
环境说明
1.
服务器3
台,一台安装apache
服务,两台安装tomcat
2.
使用到的各个组件及下载地址:
apache_2.2.11-win32-x86-no_ssl.msi
http://httpd.apache.org/download.cgi
tomcat
6
压缩版
http://tomcat.apache.org/download-60.cgi
apache
的JK
连接器(Windows
版本),作为apache
的一个module
,网站同时提供了配置文件的使用方法
mod_jk-1.2.28-httpd-2.2.3.so
http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.28/
3.ip
配置
一台安装apache
的ip
为192.168.1.50
,两台安装tomcat
的ip
分别为192.168.1.24
和192.168.1.52
(根据各自情况分配)
二.安装过程
1.
在两台安装tomcat
的机器上安装jdk6
(至少jdk5
)
2.
配置jdk
的安装路径,
在环境变量path
中加入jdk
的bin
路径,
新建环境变量JAVA_HOME
指向jdk
的安装路径
3.
安装tomcat
,并测试tomcat
的启动是否正常
http://192.168.1.24:8080
http://192.168.1.50:8080
三.负载均衡配置过程
1.
在192.168.1.50
机器上安装apache
服务,我的安装路径默认为:D:/Program
Files/Apache Software Foundation/Apache2.2
2.
安装完成后测试能否正常启动,http://192.168.1.50
,如图所示:
3.
将mod_jk-1.2.28-httpd-2.2.3.so
拷贝到apache
的modules
目录下
2.
修改apache
的配置文件
httpd.cof
,在最后加上下面这段话:
LoadModule
jk_module modules/mod_jk-1.2.28-httpd-2.2.3.so #
载入jk
连接器
JkWorkersFile
conf/workers.properties #
设置负载均衡的配置文件,即定义均衡规则
JkLogFile
logs/mod_jk.log #
指定日志文件
JkLogLevel
debug #
指定日志级别
#
配置apache
将哪些请求转发给JK
进行均衡
JkMount
/*.jsp loadbalancer
JkMount
/test/* loadbalancer
3.
分别修改两个tomcat
的配置文件conf/server.xml
文件
修改前:
<!--
An Engine represents the entry point (within Catalina) that processes
every
request. The Engine implementation for Tomcat stand alone
analyzes
the HTTP headers included with the request, and passes them
on
to the appropriate Host (virtual host).
Documentation
at /docs/config/engine.html -->
<!--
You should set jvmRoute to support load-balancing via AJP ie :
<Engine
name="Catalina" defaultHost="localhost"
jvmRoute="jvm1">
-->
<Engine
name="Catalina" defaultHost="localhost">
修改后:
<!--
An Engine represents the entry point (within Catalina) that processes
every
request. The Engine implementation for Tomcat stand alone
analyzes
the HTTP headers included with the request, and passes them
on
to the appropriate Host (virtual host).
Documentation
at /docs/config/engine.html -->
<!--
You should set jvmRoute to support load-balancing via AJP ie : -->
<Engine
name="Catalina" defaultHost="localhost"
jvmRoute="node1">
<Engine
name="Catalina" defaultHost="localhost" >
将其中的jvmRoute="jvm1"
分别修改为jvmRoute="node1"
和jvmRoute="node2"
4.
在apache
的conf
目录下创建workers.property
文件,输入以下内容:
#
fine the communication channel
#
定义负载均衡的所有主机名,和前面tomcat
配置文件的JVMroute
属性相对应
#
其中的loadbalancer
是虚拟的主机,负责负载均衡,姑且当成是apache
本身
worker.list=node1,node2,loadbalancer
#
node1
使用AJP
与JK
通讯
worker.node1.port=8009
#
工作端口,若没占用则不用修改
worker.node1.host=192.168.1.24
# node1
的地址为localhost
,如果tomcat
在其他服务器则输入该服务器的地址
worker.node1.type=ajp13
#
类型
worker.node1.lbfactor=100
#
负载平衡因数
worker.node2.port=9009
#
工作端口,若没占用则不用修改
worker.node2.host=192.168.1.52
#node2
服务器的地址
worker.node2.type=ajp13
#
类型
worker.node2.lbfactor=100
#
负载因子,值越大则JK
分发到此tomcat
的负荷越多
#
定义loadbalancer
类型为“负载均衡器(lb
)”
worker.loadbalancer.type=lb
#
定义loadbalancer
进行负载均衡的对象
worker.loadbalancer.balanced_workers=node1,node2
worker.loadbalancer.sticky_session=false
worker.loadbalancer.sticky_session_force=false
5.
在两个tomcat
的安装目录中的webapps
建立相同的应用,我的应用名为test
,在两个应用目录中建立相同
WEB-INF
目录和页面test.jsp
的页面内容如下
<%@
page
language
=
"java"
contentType
=
"text/html;
charset=ISO-8859-1"
pageEncoding
=
"GBK"
%>
<!
DOCTYPE
html
PUBLIC
"-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"
>
<
html
>
<
head
>
<
meta
http-equiv
=
"Content-Type"
content
=
"text/html;
charset=ISO-8859-1"
>
<
title
>
helloapp
</
title
>
</
head
>
<
body
>
<%
System.out.println(
"call
test.jsp"
);
//
在Tomcat
控制台上打印一些跟踪数据
%>
SessionID:
<%=
session.getId()
%>
</
body
>
</
html
>
6.
重启
apache
服务器和两个
tomcat
服务器,到此负载均衡已经配置完成,测试负载均衡:
http://192.168.1.50/test/test.jsp
,
运行正常则已建立负载均衡
四.集群配置
1.
负载均衡的条件下配置tomcat
集群
2
.分别修改两个tomcat
的配置文件conf/server.xml,
修改内容如下
修改前:
<!--
<Cluster
className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
-->
修改后:
<
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"
bind
=
"192.168.1.100"
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
>
注意:bind
是tomcat
服务器所在的机器的ip
地址
3.
重启两个tomcat
,到此tomcat
的集群配置完成
五.应用配置
对于要进行负载和集群的的tomcat
目录下的webapps
中的应用中的WEB-INF
中的web.xml
文件要添加如下一句配置
<distributable/>
配置前:
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
<
web-app
id
=
"WebApp_ID"
version
=
"2.4"
xmlns
=
"http://java.sun.com/xml/ns/j2ee"
xmlns:xsi
=
"http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation
=
"http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
>
<
display-name
>
test
</
display-name
>
<
distributable
/>
<
welcome-file-list
>
<
welcome-file
>
index.
html
</
welcome-file
>
<
welcome-file
>
index.
htm
</
welcome-file
>
<
welcome-file
>
index.
jsp
</
welcome-file
>
<
welcome-file
>
default.
html
</
welcome-file
>
<
welcome-file
>
default.
htm
</
welcome-file
>
<
welcome-file
>
default.
jsp
</
welcome-file
>
</
welcome-file-list
>
</
web-app
>
六.测试集群
重新启动apache
服务器和两个tomcat
服务器,输入地址:http://192.168.1.50/test/test.jsp
运行结果如下:
如果同一个浏览器的sessionID
不变,则集群配置成功
分享到:
相关推荐
"quqi.rar_mtk_mtk software_mtk平台"这个标题表明这是一个与MTK平台相关的软件包,可能是用于MTK手机的多功能下载工具。 描述中提到的"MTK平台的多功能下載軟件,適用所有MTK手機"暗示这是一款针对所有采用MediaTek...
9. **调试工具**:如GraphEdit,这是一个可视化的过滤图编辑工具,可以帮助开发者调试过滤图的连接和配置。 在项目提供的"新建 Microsoft Word 文档.doc"中,可能包含了关于这个DirectShow视频播放器的源代码和详细...
国内最好的数据库达梦DM8,曲奇网盘下载链接:https://quqi.com/s/1243222/wcOZdaWgUlHrwhOk
数学建模拟合与插值.ppt
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。
mysql相关资源.txt
此项目为一个HTML+CSS+JS的国漫分享网站,用户可以在此网站中观看自己喜欢的国漫。此网站共有4个页面,分别为首页,最新动态,热门推荐,分类。页面动漫图片齐全,内容可更改。可用于期末课程设计或个人课程设计。
Python爬虫爬取漫画
模拟退火算法应用。C++语言编程用模拟退火算法解决旅行商问题。该资源包含模拟退火算法C++语言的源代码。模拟退火算法是一种基于概率的全局优化算法,最初来自于物理学中的退火过程。它通过模拟金属冷却时原子排列逐渐趋于最低能量状态的过程来寻找问题的最优解。模拟退火算法常用于解决非线性、组合优化问题,特别适合于大规模、复杂的搜索空间。
传感器试题及答案.doc
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。
本文档主要讲述的是MongoDB数据表基本操作;希望对大家会有帮助;感兴趣的朋友可以过来看看
本数据集提供了2011至2021年间全国各省废气和废水中主要污染物的排放量统计数据。数据涵盖了二氧化硫、氮氧化物、烟尘和颗粒物等关键污染物的排放量,为研究中国环境状况和污染物排放趋势提供了宝贵信息。数据显示,2011-2021年间,各省的二氧化硫排放量从数十万吨到数百万吨不等,其中广东、广西、海南等省份的排放量较高。氮氧化物排放量同样显示出地域差异,北京、天津等北方城市的排放量相对较低,而一些工业大省如河北、山西的排放量较高。颗粒物排放量统计显示,工业源和生活源是主要的排放源,其中工业源排放量占比较大。这些数据不仅对环保政策制定者具有参考价值,也为学术研究提供了实证基础。
脉冲宽度测量单片机课程设计.doc
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。
全国矢量地图数据【国道+高速公路】ArcGIS Shape格式数据集是一种专门用于地理信息系统(GIS)的矢量数据集,包含中国范围内国道和高速公路的详细路网信息。该数据集广泛应用于交通规划、导航、物流分析和灾害应急等领域,具有高精度和易用性。 数据集特点: 1. 数据内容: 国道:包括以“G”开头的国家级公路,如G1京哈高速、G107国道等。 高速公路:包括全国范围内的所有高速公路网,覆盖主要经济区、城市和边境口岸。 属性数据: 道路编号(国道或高速公路编号)。 道路名称。 道路等级(如一级、二级、快速路等)。 起点和终点坐标。 道路长度(单位:公里)。 相关属性(如路段建成年份、设计速度、车道数等)。 2. 数据格式: **Shapefile(.shp)**格式,支持主流GIS软件(如ArcGIS、QGIS)及数据处理工具(如Python、Matlab)。 3. 投影坐标系: 一般采用WGS84地理坐标系,或可根据需求转换为**GCJ-02(火星坐标系)**以配合国内导航应用。
4