window+apache+tomcat的集群整合_第1页
window+apache+tomcat的集群整合_第2页
window+apache+tomcat的集群整合_第3页
window+apache+tomcat的集群整合_第4页
window+apache+tomcat的集群整合_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ApacheApache是http服务器,我们可以利用它对tomcat进行负载均衡准备工作:下载 Apache=>httpd-2.2.22-win32-x86-no_ssl.msiJk=>mod _jk-1.2.28-httpd-2.2.3.so注意:Apache和jk的版本必须相对应,不然Apache服务都启动不了 ,Apache版本如 果是2.0,那么对应的jk必须是1.2.31的版本(不清楚为什么,本人不信邪试了下 1.2.28的版本,结果真的启动不了Apache服务器。(以上的apache和jk是本人集群成功的版本)如果是学过java的人那么jdk的下载和安装就不讲了,没学

2、过的人在网上下载jkd6.0及以上版本安装并且将环境变量配置好(很简单)Tomcat版本:Tocmat7目前已经出现稳定版本的7.0.12,Tomcat6则为6.0.32。这两个tomcat集群的结果是一样的,不过本人使用的是6.0.32的绿色版(最好用绿色版)以本人集群的流程为示例:Apache服务器的安装可以在网上找一下示例,想提一下的是把安装路劲改一下,安装的时候选择默认安装,别自定义安装(因为我们是新手)安装到Server Information 界面的时候 Network Domian 和Server Name这两个输入框是可以随便填入的。本人两个都是localhost第三个输入框是

3、电子邮箱,这里必须填,随便填一个吧,只要是有效的就行,本人用的扣扣邮箱.最后选择端口,有默认的两个端口 80和8080,如果电脑上安装的IIS的话80端口是会被占用的,不过还是可 以选,只不过安装完了后apache服务启动不起来而已(在配置文件里面可以改端口)如果端口没被占用,安装完后电脑右下角有个绿色的小箭头,在地址栏里面输入 http:/locahost:端口如果页面出现了it' work就表示安装成功了,如果没有那就重新安装吧,肯定哪里出问题了。重点部分:本人的安装路径是 E:Apache下面。找到安装路径下 conf文件夹,打开 httpd.conf文件,搜索“ Listen

4、"可以找到安装时选择的端口,在此处可以修改。在文件的最下面加上 include "E:Apacheconfmod_jk.conf" ,在 conf 文件夹下新建 mod_jk.conf 文件,此文件里面加入以下内容LoadModule jk_module modules/mod_jk-1.2.28-httpd-2.2.3.soJkWorkersFile conf/perties# 指定那些请求交给 tomcat 处理 ,"controller" 为在 pertise 里指定的负载分 配控制器名JkMo

5、unt /*.jsp controller将下载好的 jk 也就是 mod_jk-1.2.28-httpd-2.2.3.so 放入 modules 文件下面,在 conf 文件夹下面创建 perties 文件 .特别注意 :JkMount /*.jsp controller表示将 jsp 文件交给指定的负载控制器来处理,如果项目里面还有其他的文件如 css, js,xml ,html ,properties, 各种图片等等也要交给负载控制器来处理的话都要在此处 列出来。例如: JkMount /*.gif controllerJkMount /*.swf controll

6、erJkMount /*.bmp controllerJkMount /*.png controllerJkMount /*.jpg controllerJkMount /*.css controllerJkMount /*.js controllerJkMount /*.action controllerJkMount /*.xml controllerJkMount /*.propertes controller 其实静态文件比如 html 之类的文件是可以交给 apache 来处理的,这里说的交给 apache 来处理是指将文件放到 apache 的 htdocs 目录下,这里要小心,不

7、然的话文件 就访问不到了。本人将所有的文件都交给了负载均衡器来处理继续 在创建的 perties 文件里面加入以下内容#serverworker.list = controller#=tomcat1=worker.tomcat1.port=11009worker.tomcat1.host=localhostworker.tomcat1.type=ajp13worker.tomcat1.lbfactor = 1#=tomcat2=worker.tomcat2.port=12009worker.tomcat2.host=localhostworker.tomcat2.type

8、=ajp13 worker.tomcat2.lbfactor = 1controller, 负载均衡控制器worker.controller.type=lbworker.controller.balanced_workers=tomcat1,tomcat2worker.controller.sticky_session=falseworker.controller.sticky_session_force=1#worker.controller.sticky_session=1Tomcat1.port= 端口,这里可以随便取,只要不被占用就可以 .tomcat2.host=localhost

9、表示本地的 ip ,可以用 来代替,如果是远程的话就 换成远程的 ip 地址即可 .这里可以加tomcat3,tomcat4 .配置差不多Wperties 里面配置了几个 tomcat 就准备几个 tomcat, 本人用了两个打开 tomcat1 中的 conf 文件夹下的 server.xml 要改动的地方如下Server port=> 随便哪个都行,只要不被占用即可Connector port= ”8080”protocol="HTTP/1.1" 这个端口可以屏蔽掉,因为使用 Apache 集群后这个端口是不会再用到的 ,而

10、是用 AJP/1.3 那个端口Connector port="11009" protocol="AJP/1.3"这里的端口就是 perties 中tomcat1.port= 端口的值,必须对应,不然也会报错 .在 <Engine name="Catalina" defaultHost="localhost">里面加上 jvmRoute="tomcat1"<Cluster className="org.apache.catalina.ha.tcp.

11、SimpleTcpCluster"/> 换成以下内容: <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"channelSendOptions="8"><Manager className="org.apache.catalina.ha.session.DeltaManager" expireSessionsOnShutdown="false"notifyListenersOnReplication=&q

12、uot;true"/><Channel className="org.apache.catalina.tribes.group.GroupChannel"> <MembershipclassName="org.apache.catalina.tribes.membership.McastService"address=""port="45564"frequency="500"dropTime="3000"/><R

13、eceiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"address="auto"port="4000"autoBind="100"selectorTimeout="5000"maxThreads="6"/><SenderclassName="org.apache.catalina.tribes.transport.ReplicationTransmitter&qu

14、ot;><TransportclassName="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/></Sender><Interceptor className="erceptors.TcpFailureDetector"/><Interceptor className="er

15、ceptors.MessageDispatch15Interce ptor"/></Channel><Valve className="org.apache.catalina.ha.tcp.ReplicationValve"filter=""/><Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/><Deployer className="org.apache.catalina.h

16、a.deploy.FarmWarDeployer" tempDir="/tmp/war-temp/"deployDir="/tmp/war-deploy/"watchDir="/tmp/war-listen/" watchEnabled="false"/><ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/><ClusterList

17、ener className="org.apache.catalina.ha.session.ClusterSessionListener"/></Cluster><Context path="" docBase="C:xinyu" reloadable="true" crossContext="true"/>这里跑所需的工程。Tomcat2 的配置和 tomcat1 的配置一样将端口对应好就可以最后在工程的 web.xml 里面的 <welcome-file

18、-list> 上面加上 <distributable/> 这里必须 加上,不然 session 没办法复制。为保证 session 复制能成功记得在 Apache 的安装路径下的 conf 文件夹下的 httpd.conf 文件里面的以下内容的注释去掉 ( 如果 Apahce 版本是本人的这个版本就会有以下内容 ):LoadModule proxy_module modules/mod_proxy.soLoadModule proxy_ajp_module modules/mod_proxy_ajp.soLoadModule proxy_balancer_module mod

19、ules/mod_proxy_balancer.soLoadModule proxy_connect_module modules/mod_proxy_connect.soLoadModule proxy_ftp_module modules/mod_proxy_ftp.soLoadModule proxy_http_module modules/mod_proxy_http.so测试一下 ,新建一个 web 工程 (一定要记得在 web.xml 里面加上 <distributable/> ) 创建 jsp 页面 test2.jsp 内容如下 :<% page content

20、Type="text/html; charset=GBK" %><% page import="java.util.*" %><html><head><title>Cluster App Test</title></head><body>Server Info:<%out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>"

21、;);%><%out.println("<br> ID " + session.getId()+"<br>");/ 如果有新的 Session 属性设置String dataName = request.getParameter("dataName");if (dataName != null && dataName.length() > 0) String dataValue = request.getParameter("dataValue");sess

22、ion.setAttribute(dataName, dataValue);out.println("<b>Session 列表 </b><br>");System.out.println("=");Enumeration e = session.getAttributeNames();while (e.hasMoreElements() String name = (String)e.nextElement();String value = session.getAttribute(name).toString();out.println( name + " = " + value+"<br>");System.out.println( name + " = &qu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论