版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Tomcat集群部署Tomcat集群部署i部署准备i1.1 所需软件介绍i1.2 windows 平台21.3 Unix 平台22部署步骤22.1坏境说明32.2安装过程32.3负载均衡过程42.4 Tomcat 集群配置 62.5应用配置82.6关于会话复制93 效果演示93.1成功后的效果93.2效果演示录像104 相关说明104.1目录说明104.2其他说明104.3作者说明101部署准备1.1所需软件介绍Apache HTTP Server该软件是Apache开源软件,主要用于HTTP请求服务,在加载一些插件后,也可实现一些其他的功能,如在加载JK插件后,其能实现集群以及负载平衡的功能
2、.其详细的介绍可参考 Apache官方网站中关于 Apache HTTP Server的介绍, 其网址为:/。在本次部署中,采用的是Apache HTTP Server2.0版本.Tomcat本次测试中采用的 Tomcat5.0.28版本Jk2插件Apache的一个开源插件,主要用于实现集群,以及负载平衡。在本次部署中主要采用的JK2版本,这个插件比较难找,在 Apache的官方网站上没有作为一个 单独项目列出 来,而是 放在与 Tomcat相关的一个 工具包中,下载地 址为:/dist/tomcat/tomc
3、at-c onn ectors/1.2 windows 平台windows平台下的集群部署相对简单,其所需的软件均已编译好,下载后安装即可,其相关的软件已经下载,按照其后面讲解的部署步骤部署即可,其在网上的下载地址分别为:/dow nl oad.cgi/dow nl oad-55.cgi#5.0.28/dist/tomcat/tomcat-c onn ectors/jk2/bi naries/wi n32/1.3 Unix 平台Unix平台上部署相对复杂,所需的Ap
4、ache HTTP Server2.0下载下来后,还需先经过编译后方可使用,考虑到在不同的unix系统上,尚有一些差异,编译这一步各位在部署时进行,本次部署时就不提供编译好的Apache HTTP Server 2.0,其所需的软件下载地址分别为:/dow nl oad.cgi/dow nl oad-55.cgi#5.0.28 /dist/tomcat/tomcat-c onn ectors/jk2/bi naries/solaris/O 立R笔半睚2 部署步骤以下
5、部署步骤为引用自互联网上的原文2.1坏境说明服务器有4台,一台安装 apache三台安装tomcat(2) apache2.0.55、tomcat5.5.15、jk2.0.4、jdk1.5.6 或 jdk1.4.2(3) IP配置,一台安装 apache的IP为8,三台安装tomcat的服务器IP分别为/2/42.2安装过程(1) 在三台要安装tomcat的服务器上先安装 jdk(2) 配置jdk的安装路径,在环境变量path中加入jdk的bin路径,新建环境变量JAVA_HOME指向jdk的安装路径在三台要安装tomcat的服务器上分别安装tomc
6、at,调试三个tomcat到能够正常启动(4) tomcat的默认 WEB服务端口是8080,默认的模式是单独服务,我的三个tomcat的WEB服务端口修改为 7080/8888/9999修改位置为 tomcat的安装目录下的 conf/server.xml修改前的配置为<Co nn ector port="8080" maxHttpHeaderSize="8192"maxThreads="150" min SpareThreads="25" maxSpareThreads="75"ena
7、bleLookups="false" redirectPort="8443" acceptCount="100"conn ectio nTimeout="20000" disableUploadTimeout="true" />修改后的配置为<Co nn ector port="7080" maxHttpHeaderSize="8192"maxThreads="150" min SpareThreads="25&q
8、uot; maxSpareThreads="75"en ableLookups="false" redirectPort="8443" acceptCou nt="100"conn ectio nTimeout="20000" disableUploadTimeout="true" />依次修改每个tomcat的监听端口 (7080/8888/9999)(5) 分别测试每个tomcat的启动是否正常:7080http:/192.168.
9、0.2:8888:99992.3负载均衡过程在那台要安装 apache的服务器上安装 apache2.0.55,我的安装路径为默认C:ProgramFilesApache GroupApache2(2) 安装后测试apache能否正常启动,调试到能够正常启动8(3) 下载jk2.0.4后解压缩文件将解压缩后的目录中的modules目录中的mod_jk2.so文件复制到apache的安装目录下的 modules 目录中,我的为 C:Program FilesApache GroupApache2modules(5) 修改apac
10、he的安装目录中的 conf目录的配置文件 httpd.conf,在文件中加 LoadModule模块配置信息的最后加上一句LoadModule jk2_module modules/mod _jk2.so(6) 分别修改三个 tomcat的配置文件 conf/server.xml,修改内容如下 修改前<!- An Engine represe nts the entry poin t (with in Catali na) that processesevery request. The Engine impleme ntati on for Tomcat sta nd alonean
11、 alyzes the HTTP headers in cluded with the request, and passes themon to the appropriate Host (virtual host).-><!- Y ou should set jvmRoute to support load-bala ncing via AJP ie : <Engine n ame="Sta ndal one" defaultHost="localhost" jvmRoute="jvm1"> ->&l
12、t;!- Define the top level container in our container hierarchy -><Engine n ame="Catali na" defaultHost="localhost">修改后<!- An Engine represe nts the entry poin t (with in Catali na) that processes every request. The Engine impleme ntati on for Tomcat sta nd alone an al
13、yzes the HTTP headers in cluded with the request, and passes them on to the appropriate Host (virtual host).-><!- Y ou should set jvmRoute to support load-bala ncing via AJP ie :-> <Engine n ame="Sta ndal one" defaultHost="localhost" jvmRoute="tomcat1">&l
14、t;!- Define the top level container in our container hierarchy<Engine n ame="Catali na" defaultHost="localhost">->将其中的jvmRoute="jvm1"分别修改为 jvmRoute="tomcat1"和 jvmRoute="tomcat2"和jvmRoute="tomcat3"(7) 然后重启三个tomcat,调试能够正常启动。(8) 在apac
15、he的安装目录中的 conf目录下创建文件 perties,写入文件内容如下# fine the com muni cati on cha nnelcha nn el.socket::8009info=Ajp13 forward ing over socket#配置第一个服务器tomcatId=tomcat1 # 要和 tomcat 的配置文件 server.xml 中的 jvmRoute="tomcat1"名称一致 debug=0lb_factor=1 #负载平衡因子,数字越大请求被分配的几率越高# Define the co
16、m muni cati on cha nnelcha nn el.socket::8009info=Ajp13 forward ing over sockettomcatld=tomcat2debug=0lb_factor=1# Define the com muni cati on cha nnelcha nn el.socket::8009info=Ajp13 forward ing over sockettomcatId=tomcat3debug=0lb_factor=1status:in fo=Status worker, displays
17、run time in formati on.uri:/jkstatus.jspin fo=Display status in formati on and checks the config file for cha nges.group=status:uri:/*in fo=Map the whole webappdebug=0(9) 在三个tomcat的安装目录中的 webapps建立相同的应用,我和应用目录名为TomcatDemo,在三个应用目录中建立相同WEB-INF目录和页面index.jsp,index.jsp的页面内容如下<% page conten tType=&quo
18、t;text/html; charset=GBK" %><% page import="java.util.*" %><html><head><title>Cluster App Test</title></head><body>Server Info:<%out.pri ntl n( request.getLocalAddr() + " : " + request.getLocalPort()+"<br>");%&g
19、t;<%out.println("<br> ID " + session.getId()+"<br>");/如果有新的 Session属性设置String dataName = request.getParameter("dataName");if (dataName != n ull && dataName.le ngth() > 0) String dataValue = request.getParameter("dataValue");sessi on.
20、setAttribute(dataName, dataValue);out.pri nt("<b>Sessio n 列表 </b>");Enumeration e = session.getAttributeNames();while (e.hasMoreEleme nts() Stri ng n ame = (Stri ng)e .n extEleme nt();String value = session.getAttribute(name).toString();out.pri ntln( n ame + " = " + v
21、alue+"<br>");System.out.pri ntln( n ame + " = " + value);%><form actio n="i ndex.jsp" method="POST">名称:<input type=text size=20 name="dataName"><br>值:<input type=text size=20 name="dataV alue"><br><
22、in put type=submit></form></body></html>(10) 重启apache服务器和三个tomcat服务器,到此负载 均衡已配置完成。测试负载均衡 先测试 apache,访问 8/jkstatus.jsp能否正常访问,并查询其中的内容,有三个tomcat的相关配置信息和负载说明,访问8/TomcatDemo/index.jsp 看能够运行,能运行,则已建立负载均衡。2.4 Tomcat集群配置(1) 负载均衡配置的条件下配置tomcat集群(2) 分别修改
23、三个 tomcat的配置文件 conf/server.xml,修改内容如下修改前<!-<Cluster className="org.apache.catali na.cluster.tcp.SimpleTcpCIuster"man agerClassName="org.apache.catali na.cluster.sessi on .DeltaMa nager" expireSessi onsOn Shutdow n=" false"useDirtyFlag="true"no tifyListe
24、nersOn Replicatio n="true">(MembershipclassName="org.apache.catali na.cluster.mcast.McastService" mcastAddr="" mcastPort="45564" mcastFreque ncy="500" mcastDropTime="3000"/>vReceiverclassName="org.apache.catali na.cluste
25、r.tcp.Replicatio nListe ner" tcpListe nAddress="auto" tcpListen Port="4001"tcpSelectorTimeout="100"tcpThreadCou nt="6"/><SenderclassName="org.apache.catali na.cluster.tcp.Replicati onTran smitter" replicati onM ode="pooled" ackTi
26、meout="5000"/><Valve className="org.apache.catalina.cluster.tcp.ReplicationV alve" filter=".*.gif;.*.js;.*.jpg;.*.p ng;.*.htm;.*.html;.*.css;.*.txt;"/>vDeployer className="org.apache.catali na.cluster.deploy.FarmWarDeployer" tempDir="/tmp/war-tem
27、p/" deployDir="/tmp/war-deploy/" watchDir="/tmp/war-liste n/" watchE nabled="false"/><ClusterListe nerclassName="org.apache.catali na.cluster.sessi on .ClusterSessio nListe ner"/></Cluster>->修改后<!- modify by whh ->vCluster classNam
28、e="org.apache.catali na.cluster.tcp.SimpleTcpCIuster"man agerClassName="org.apache.catali na.cluster.sessi on .DeltaMa nager" expireSessi onsOn Shutdow n=" false" useDirtyFlag="true"no tifyListe nersOn Replicatio n="true">vMembershipclassName=&quo
29、t;org.apache.catali na.cluster.mcast.McastService" mcastAddr="" mcastPort="45564"mcastFreque ncy="500" mcastDropTime="3000"/>vReceiverclassName="org.apache.catali na.cluster.tcp.Replicatio nListe ner" tcpListe nAddress="auto&quo
30、t; tcpListen Port="4001"tcpSelectorTimeout="100" tcpThreadCou nt="6"/><SenderclassName="org.apache.catali na.cluster.tcp.Replicati onTran smitter" replicati onM ode="pooled" ackTimeout="5000"/><Valve className="org.apache.c
31、atalina.cluster.tcp.ReplicationV alve" filter=".*.gif;.*.js;.*.jpg;.*.p ng;.*.htm;.*.html;.*.css;.*.txt;"/><Deployer className="org.apache.catali na.cluster.deploy.FarmWarDeployer" tempDir="/tmp/war-temp/" deployDir="/tmp/war-deploy/" watchDir="
32、;/tmp/war-liste n/" watchE nabled="false"/><ClusterListe nerclassName="org.apache.catali na.cluster.sessi on .ClusterSessio nListe ner"/> </Cluster><!- modify by whh ->将集群配置选项的注释放开即可,如上。(3)重启三个tomcat。到此tomcat的集群已配置完成。2.5应用配置对于要进行负载和集群的的tomcat目录下的 webapps
33、中的应用中的WEB-INF中的web.xml文件要添加如下一句配置distributable/配置前<?xml versio n="1.0" en codi ng="UTF-8"?><web-appxml ns="http:/java.s un .com/xml/ns/j2ee"xml ns:xsi="/2001/XMLSchema-i nsta nee"xsi:schemaLocatio n="http:/java.s un .com/xml/ns/j2
34、eehttp:/java.s un .com/xml/ns/j2ee/web-app_2_4.xsd" versio n="2.4">vdisplay-n ame>TomcatDemo</display-n ame></web-app>配置后<?xml versio n="1.0" encodin g="UTF-8"?><web-appxml ns="http:/java.s un .com/xml/ns/j2ee"xml ns:xsi="h
35、ttp://2001/XMLSchema-i nsta nee"xsi:schemaLocatio n="http:/java.s un .com/xml/ns/j2eehttp:/java.s un .com/xml/ns/j2ee/web-app_2_4.xsd" versio n="2.4"><display-n ame>TomcatDemo</display-n ame><distributable/></web-app>2.6关于会话复制在tomcat做集群之后
36、,每个tomcat之间自动根据tomcat的配置文件中的参数进行session复制,对于一个客户端对说,只要是同一个IP,那它每次上传的sessionID就是一样的,3.效果演示3.1成功后的效果Eze loin Cess ioo Current Cu ri-ent ino Current boss ion ion Ciirent. Current boss ion Cu ri-ent :Eass loo Gess ion Current Curierit Si=ss ioo Current ion Sess ion Cirtsnt. Current Sc&s ion Cu pi-en
37、tUsei'User-User UserSession1$ okf £& okf Scss ion Sbss ion is o k* ion is ok? 込okf Session Scs ion is ok? Sbss ion is ok? is ok?ion Session is okT ion is okf isr akt Session ion is okT Sess i>DnUserIJscfUser Osiei*UserUser-IIecpUse i*DevalopeiT号聯:EL敷据启动 工具.出矗Session Current SessIon Cur re PitSession CesBiom CnrFent Ciiirrcpit Session Current SessionCurrent Current Seirs inn Cyrrent Session Cuppent Inn Current Session Currentakt Sess ion is okt Sbss ion is- okl1 Sess Lon is ok? i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版办公家具展会租赁与销售合作合同3篇
- 二零二五年度武汉东湖风景区旅游开发合同3篇
- 二零二五年度艺术品共同创作与展览合同2篇
- 二零二五版房屋租赁合同免责及维修保障3篇
- 二零二五版灯光照明工程设计咨询合同2篇
- 二零二五版班组分包消防设施分包服务合同样本3篇
- 二零二五版新媒体行业劳动合同制度及知识产权保护协议2篇
- 二零二五年空调销售与绿色消费倡导合同3篇
- 二零二五年度钢管模板租赁环保要求及价格评估合同3篇
- 二零二五版网络安全威胁情报共享与预警服务合同范本3篇
- 验货报告范本(英文版)
- 理想气体热力过程
- 2022度机构编制重要事项的报告【3篇】
- GB/T 25772-2010滚动轴承铁路客车轴承
- GB 31247-2014电缆及光缆燃烧性能分级
- 专利评估报告模板
- 士卓曼种植系统外科植入流程课件
- 二年级下册《一起长大的玩具》导读教学-一场别样的童年之旅
- 二尖瓣狭窄并关闭不全共17张课件
- 某环保企业业务介绍课件
- 心脏瓣膜病护理课件
评论
0/150
提交评论