Tomcat和Apache集群for windows 2.docx

上传人:b****5 文档编号:29702405 上传时间:2023-07-26 格式:DOCX 页数:15 大小:246.33KB
下载 相关 举报
Tomcat和Apache集群for windows 2.docx_第1页
第1页 / 共15页
Tomcat和Apache集群for windows 2.docx_第2页
第2页 / 共15页
Tomcat和Apache集群for windows 2.docx_第3页
第3页 / 共15页
Tomcat和Apache集群for windows 2.docx_第4页
第4页 / 共15页
Tomcat和Apache集群for windows 2.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

Tomcat和Apache集群for windows 2.docx

《Tomcat和Apache集群for windows 2.docx》由会员分享,可在线阅读,更多相关《Tomcat和Apache集群for windows 2.docx(15页珍藏版)》请在冰豆网上搜索。

Tomcat和Apache集群for windows 2.docx

Tomcat和Apache集群forwindows2

 

Apache+Tomcat集群配置

(Windows)

 

目录

一、准备环境:

3

Apache2.2.22、Tomcat6.0、mod_jk-1.2.31-httpd-2.2.33

1.Apache:

3

2.Jk:

3

3.tomcat:

4

4.现场集群要求:

4

二、配置过程4

1.修改apache配置:

4

2.配置tomcat9

三、测试项目11

四、Session测试13

 

Tomcat和Apache集群和负载均衡配置

一、准备环境:

操作系统

IP

备注

主机1

Windowsserver2003x64

192.168.132.99

同网段

主机2

Windowsserver2003x64

192.168.132.100

所需软件

Apache2.2.22、Tomcat6.0、mod_jk-1.2.31-httpd-2.2.3

 

由于现场环境所限,以下截图均为模拟现实环境的虚机部署截图。

1.Apache:

Apache是http服务器,我们利用其对Tomcat进行负载均衡。

下载地址为:

http:

//httpd.apache.org/download.cgi#apache22。

下载后直接安装msi即可,如果没有其他的http服务器(如iis)则应该可以成功安装,端口即为80,能够访问http:

//localhost/说明安装成功。

注:

如果80端口被占用可改apache默认端口,在apache安装目录中:

\ApacheSoftwareFoundation\Apache2.2\conf\httpd.conf文件中修改端口等,如下图

2.Jk:

JK是通过AJP协议与Tomcat服务器进行通讯的,Tomcat默认的AJPConnector的端口是8009。

JK本身有两个版本分别是1和2,其中版本2早已经废弃了,以后不再有新版本的推出了,所以建议采用版本1。

下载地址:

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,如果http服务器是Apache2.0.x版本,则必须选择mod_jk-1.2.31-httpd-2.0.52.so;

其实Apache2.2已经集成Tomcat插件模块了,可以不用JK插件就可以实现Tomcat负载均衡,但就稳定性而言,建义采用JK方式。

3.tomcat:

既然在本地需要多个节点,那么需要下载ZIP版本的Tomcat。

下载地址:

http:

//archive.apache.org/dist/tomcat/tomcat-6/v6.0.35/bin/。

注:

集群时,建议使用统一的tomcat版本;

4.现场集群要求:

根据客户要求,集群环境主机为192.168.132.99和192.168.132.100;操作系统均为windowsserver200364bit。

要求每台主机分别部署一个Apache和三个Tomcat(Tomcat分别为号百应用、工作流和权限系统),每台主机Apache分别对两台主机上的相同Tomcat进行集群管理,并最终通过F5对两个Apache进行负载。

二、配置过程

1.修改apache配置:

1).将下载的JK插件mod_jk-1.2.31-httpd-2.2.3.so复制到Apache安装目录的modules目录下,如下图:

2).新建并编辑workers.properties文件(放到Apache安装目录的conf目录下),内容如下:

#Definelistofworkersthatwillbeused

#formappingrequests

worker.list=app,authSys,workflowSys,status

#DEFAULTCONFIGFORWORKERS

worker.default.type=ajp13

worker.default.lbfactor=1

worker.default.socket_keepalive=true

worker.default.recovery_options=3

#worker.default.connection_pool_minsize=16

#worker.default.connection_pool_size=1024

#worker.default.connection_pool_timeout=3000

#worker.default.reply_timeout=300000

#disableretries,wheneverapartoftherequestwassuccessfullysendtothebackend

worker.template.recovery_options=3

worker.app1.reference=worker.default

worker.app2.reference=worker.default

worker.auth1.reference=worker.default

worker.auth2.reference=worker.default

worker.wf1.reference=worker.default

worker.wf2.reference=worker.default

#Defineapp1

#modifythehostasyourhostIPorDNSname.

worker.app1.port=32473#对应tomcat配置文件server.xml中Connectorport="8009",默认8009

worker.app1.host=192.168.132.100#指定tomcat的主机地址

 

#Defineapp2

#modifythehostasyourhostIPorDNSname.

worker.app2.port=28009#对应tomcat配置文件server.xml中Connectorport="8009",默认8009

worker.app2.host=192.168.132.99#指定tomcat的主机地址

#Defineauth1

#modifythehostasyourhostIPorDNSname.

worker.auth1.port=38009#对应tomcat配置文件server.xml中Connectorport="8009",默认8009

worker.auth1.host=192.168.132.100#指定tomcat的主机地址

#Defineauth2

#modifythehostasyourhostIPorDNSname.

worker.auth2.port=48009#对应tomcat配置文件server.xml中Connectorport="8009",默认8009

worker.auth2.host=192.168.132.99#指定tomcat的主机地址

#Definewf1

#modifythehostasyourhostIPorDNSname.

worker.wf1.port=58009#对应tomcat配置文件server.xml中Connectorport="8009",默认8009

worker.wf1.host=192.168.132.100#指定tomcat的主机地址

#Definewf2

#modifythehostasyourhostIPorDNSname.

worker.wf2.port=2473#对应tomcat配置文件server.xml中Connectorport="8009",默认8009

worker.wf2.host=192.168.132.99#指定tomcat的主机地址

#Load-balancingbehaviour

worker.app.type=lb

worker.app.balance_workers=app1,app2#指定负载的tomcat列表,用逗号分隔

#Loadbalancingmethodcanbe[R]equest,[S]ession,[T]raffic,or[B]usyness

#worker.app.method=S

#配置session会话是否为粘性

#这样负载均衡器lb就会尽量保持一个session,也就是使用户在一次会话中跟同一个Tomcat进行交互

#如果sticky_session设为true时,此处sticky_session_force一般设为false

worker.app.sticky_session=true

worker.app.sticky_session_force=false

worker.app.max_reply_timeouts=10

#Load-balancingbehaviour

worker.authSys.type=lb

worker.authSys.balance_workers=auth1,auth2#指定负载的tomcat列表,用逗号分隔

#Loadbalancingmethodcanbe[R]equest,[S]ession,[T]raffic,or[B]usyness

#worker.authSys.method=S

worker.authSys.sticky_session=true

worker.authSys.sticky_session_force=false

worker.authSys.max_reply_timeouts=10

#Load-balancingbehaviour

worker.workflowSys.type=lb

worker.workflowSys.balance_workers=wf1,wf2#指定负载的tomcat列表,用逗号分隔

#Loadbalancingmethodcanbe[R]equest,[S]ession,[T]raffic,or[B]usyness

#worker.workflowSys.method=S

worker.workflowSys.sticky_session=true

worker.workflowSys.sticky_session_force=false

worker.workflowSys.max_reply_timeouts=10

#Statusworkerformanagingloadbalancer

worker.status.type=status

#这里可以配置任意多个Tomcat,此处配置了6个Tomat服务器,所以为了它们都能够顺利启动起来,服务器端口都是不同的(一般不再同一机器上,没必要改端口的。

3).新建并编辑mod_jk.conf文件(放到Apache安装目录的\conf\extra\目录下),内容如下:

#加载mod_jkModule

LoadModulejk_modulemodules/mod_jk-1.2.31-httpd-2.2.3.so(此处为实际mod_jk模块版本)

#指定workers.properties文件路径

JkWorkersFileconf/workers.properties

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

#指定*.do也进行分流就再加一行

#JkMount/*.docontroller

#对所有的请求进行分流

JkMount/*controller

4).修改httpd.conf文件(在apache安装目录的conf目录下),找到conf目录下的httpd.conf,在文件的最后一行添加(注:

D:

\ProgramFiles\ApacheSoftwareFoundation\Apache2.2为apahe安装目录,部署时根据实际安装目录修改):

include"D:

\ProgramFiles\ApacheSoftwareFoundation\Apache2.2\conf\mod_jk.conf"

2.配置tomcat

配置两台Tomcat服务器,将每台Tomcat解压后复制3份,将每个文件夹分别命名为app1/2、auth1/2、wf1/2,修改每一份的server.xml配置,将Tomcat1(\tomcat1\conf\server.xml)中修改部分如下图:

注:

若两个tomcat都在同一台机子上,则将两个tomcat端口区分开来(以下各图仅供参考)

将Tomcat2(\tomcat2\conf\server.xml)中修改部分如下图:

注意:

由于现场服务器已经是在服务器集群之中,所以要在Clusterclassname下加入如图,用以区分已有集群。

三、测试项目

建立test项目,需要在项目的web.xml中添加,如下图:

建立test2.jsp,内容如下:

<%@pagecontentType="text/html;charset=GBK"%>

<%@pageimport="java.util.*"%>

ClusterAppTest

ServerInfo:

<%

out.println(request.getLocalAddr()+":

"+request.getLocalPort()+"
");%>

<%

 out.println("
ID"+session.getId()+"
");

 //如果有新的Session属性设置

 StringdataName=request.getParameter("dataName");

 if(dataName!

=null&&dataName.length()>0){

    StringdataValue=request.getParameter("dataValue");

    session.setAttribute(dataName,dataValue);

 }

 out.println("Session列表
");

 System.out.println("============================");

 Enumeratione=session.getAttributeNames();

 while(e.hasMoreElements()){

    Stringname=(String)e.nextElement();

    Stringvalue=session.getAttribute(name).toString();

    out.println(name+"="+value+"
");

        System.out.println(name+"="+value);

  }

%>

 

   名称:

    

   值:

    

   

  

四、Session测试

将项目部署到2个服务器,然后分别启动Apache和2个Tocmat服务器,这些Tomcat启动顺序随意,然后打开http:

//localhost:

81/test/test2.jsp

F5刷新页面,看session值

其中:

81端口对应于apache配置的端口。

将项目部署到2个服务器,然后分别启动Apache和2个Tocmat服务器,这些Tomcat启动顺序随意,然后打开http:

//localhost/test/test2.jsp,结果如下图:

F5刷新页面,分别出现:

多次刷新页面的sessionID看是同一个ID,说明session是复制成功了。

那么session中的存储的东西呢,在输入框中分别输入1、1,2、2,3、3后,显示结果如下图:

以上的测试说明,集群中的session已经共享,每个集群对于同一访问均有相同的session,而且session中存储的变量也复制了。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1