整合Apache22和Tomcat60集群与负载均衡.docx

上传人:b****4 文档编号:4405518 上传时间:2022-12-01 格式:DOCX 页数:30 大小:1,019.39KB
下载 相关 举报
整合Apache22和Tomcat60集群与负载均衡.docx_第1页
第1页 / 共30页
整合Apache22和Tomcat60集群与负载均衡.docx_第2页
第2页 / 共30页
整合Apache22和Tomcat60集群与负载均衡.docx_第3页
第3页 / 共30页
整合Apache22和Tomcat60集群与负载均衡.docx_第4页
第4页 / 共30页
整合Apache22和Tomcat60集群与负载均衡.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

整合Apache22和Tomcat60集群与负载均衡.docx

《整合Apache22和Tomcat60集群与负载均衡.docx》由会员分享,可在线阅读,更多相关《整合Apache22和Tomcat60集群与负载均衡.docx(30页珍藏版)》请在冰豆网上搜索。

整合Apache22和Tomcat60集群与负载均衡.docx

整合Apache22和Tomcat60集群与负载均衡

Windows下整合Apache2.2和Tomcat6.0

集群与负载均衡

目录

1.本文环境3

2.配置集群4

2.1.安装应用程序4

2.1.1.JDK安装4

2.1.2.Apache安装4

2.1.3.Tomcat安装11

2.2.配置Apache11

2.2.1.httpd.conf配置11

2.2.2.httpd-vhosts.conf设置12

2.3.配置Tomcat13

2.3.1.配置Serverport13

2.3.2.配置Connectorport13

2.3.3.配置Engine14

2.3.4.配置Cluster14

3.集群负载均衡和Session共享验证16

3.1.负载均衡测试16

3.1.1.应用程序部署和启动16

3.1.2.并发访问测试19

3.2.Session共享测试22

3.2.1.Session共享的条件22

3.2.2.Session共享验证22

1.本文环境

平台:

Windows2003Enterprise,2GRAM,WindowsXPSP3,4GRAM

软件:

Jdk1.6.0_20,Apache2.2.19,Tomcat6.0.29

机器和网络配置

机器类型

操作系统

网络配置

角色

备注

LenovoPC

Windows2003Enterprise

IP:

172.20.50.133PORT:

80

ApacheServer

管理/代理服务器

LenovoPC

Windows2003Enterprise

IP:

172.20.50.133PORT:

8081

Tomcat1

Web服务器

LenovoPC

Windows2003Enterprise

IP:

172.20.50.133PORT:

8082

Tomcat2

Web服务器

LenovoPC

WindowsXPSP3

IP:

172.20.50.183PORT:

8083

Tomcat3

Web服务器

LenovoPC

WindowsXPSP3

IP:

172.20.50.183PORT:

8084

Tomcat4

Web服务器

表1

集群部署图示

图1

2.配置集群

1.

2.

2.1.安装应用程序

1.

2.

2.1.

2.1.1.JDK安装

本文JDK版本是jdk-6u20-windows-i586.exe,安装此处从略。

2.1.2.Apache安装

本文Apache版本是httpd-2.2.19-win32-x86-openssl-0.9.8r.msi,安装过程如下:

双击安装程序,弹出如下画面,点击“Next”按钮:

图2

选择“Iaccept……”,并点击“Next”按钮:

图3

点击“Next”按钮:

图4

设置系统信息,在NetworkDomain下填入您的域名(比如:

),在ServerName下填入您的服务器名称(比如:

,也就是主机名加上域名),在Administrator'sEmailAddress下填入系统管理员的联系电子邮件地址(比如:

mail@),上述三条信息仅供参考,其中联系电子邮件地址会在当系统故障时提供给访问者,三条信息均可任意填写,无效的也行。

下面有两个选择,本文选择的是为系统所有用户安装,使用默认的80端口,并作为系统服务自动启动;另外一个是仅为当前用户安装,使用端口8080,手动启动。

点击“Next”按钮。

图5

选择安装类型,Typical为默认安装,Custom为用户自定义安装,我们这里选择Custom,有更多可选项。

点击“Next”按钮。

图6

出现选择安装选项界面,如下图所示:

图7

左键点选“ApacheHTTPServer2.2.19”,选择“Thisfeature,andallsubfeatures,willbeinstalledonlocalharddrive.”(此部分,及下属子部分内容,全部安装在本地硬盘上)。

图8

点击“Change...”按钮,可以手动指定安装目录,本文安装在了“D:

\Apache2.2”目录下,点击“Next”按钮。

图9

确认安装选项无误,如果您认为要再检查一遍,可以点“Back”一步步返回检查。

点击“Install”按钮开始安装。

图10

安装进行中:

图11

点击“Finish”按钮完成安装。

图12

安装向导成功完成,桌面右下角状态栏会出现下面绿色图标,表示Apache服务已经开始运行。

图13

在图标上左键单击,出现如下界面,有“Start(启动)”、“Stop(停止)”、“Restart(重启动)”三个选项,可以很方便的对安装的Apache服务器进行上述操作。

图14

测试一下按默认配置运行的网站界面,在浏览器地址栏输入“http:

//127.0.0.1”,可以看到如下页面,表示Apache服务器已安装成功。

图15

2.1.3.Tomcat安装

本文Tomcat安装版本是apache-tomcat-6.0.32-windows-x86.zip,解压后即可使用。

在Windws2003和WindowsXp两台机器上分别解压两个Tomcat,解压后的目录分别命名为tomcat-6.1,tomcat-6.2,tomcat-6.3,tomcat-6.4。

操作系统

Tomcat安装目录

Windows2003

D:

\cluster\tomcat-6.1

D:

\cluster\tomcat-6.2

WindowsXp

D:

\cluster\tomcat-6.3

D:

\cluster\tomcat-6.4

表2

2.2.配置Apache

2.2.

2.2.1.httpd.conf配置

修改APACHE的配置文件D:

\Apache2.2\conf\httpd.conf:

将以下Module的注释去掉,这里并没有使用mod_jk.so进行apache和tomcat的链接,从2.X以后apache自身已集成了mod_jk.so的功能。

只需简单的把下面几行去掉注释,就相当于以前用mod_jk.so比较繁琐的配置了。

这里主要采用了代理的方法,就这么简单。

LoadModuleproxy_modulemodules/mod_proxy.so

LoadModuleproxy_ajp_modulemodules/mod_proxy_ajp.so

LoadModuleproxy_balancer_modulemodules/mod_proxy_balancer.so

LoadModuleproxy_connect_modulemodules/mod_proxy_connect.so

LoadModuleproxy_ftp_modulemodules/mod_proxy_ftp.so

LoadModuleproxy_http_modulemodules/mod_proxy_http.so

继续往下找到:

OptionsFollowSymLinks

AllowOverrideNone

Orderdeny,allow

Denyfromall

修改成

OptionsFollowSymLinks

AllowOverrideNone

Orderdeny,allow

Allowfromall

继续往下找到加上index.jsp,修改成

DirectoryIndexindex.htmlindex.jsp

继续往下找到#Includeconf/extra/httpd-vhosts.conf把注释去掉,修改成:

#Virtualhosts

Includeconf/extra/httpd-vhosts.conf

最后在最下面加入

//cluster>

BalancerMemberajp:

//172.20.50.133:

8011loadfactor=1route=tomcat1

BalancerMemberajp:

//172.20.50.133:

8012loadfactor=1route=tomcat2

BalancerMemberajp:

//172.20.50.183:

8013loadfactor=1route=tomcat3

BalancerMemberajp:

//172.20.50.183:

8014loadfactor=1route=tomcat4

上面的四个BalancerMember成员是我们配置的tomcat集群,后面会对其进行说明。

httpd.conf文件:

2.2.2.httpd-vhosts.conf设置

接下来进行虚拟主机的设置:

将文件(D:

\Apache2.2\conf\extra\httpd-vhosts.conf)原有的

80>给注释掉,在文件最下面加入

80>

ServerAdminwebmaster@

ServerName

ServerAlias

ProxyPass/balancer:

//cluster/stickysession=JSESSIONID|jsessionidnofailover=On

ProxyPassReverse/balancer:

//cluster/

其中的域名和路径根据自己情况设置。

httpd-vhosts.conf文件:

2.3.配置Tomcat

本文用到的4个Tomcat都要做配置,主要对Tomcat的server.xml进行配置,Tomcat的server.xml位置分别为:

Windows2003下:

D:

\cluster\tomcat-6.1\conf\server.xml;D:

\cluster\tomcat-6.2\conf\server.xml。

WindowsXP下:

D:

\cluster\tomcat-6.3\conf\server.xml;D:

\cluster\tomcat-6.4\conf\server.xml。

现在分别打开各个Tomcat的server.xml文件,以windows2003上的Tomcat-6.1为例进行说明,开始进行集群配置。

2.3.1.配置Serverport

一台机器上跑多个tomcat,需要修改不同tomcat的Serverport,避免出现端口被占用的情况。

在tomcat-6.1\conf\server.xml文件中找到,修改成:

,并将其余3个Tomcat的Serverport分别修改成8007,8008,8009。

2.3.2.配置Connectorport

在tomcat-6.1\conf\server.xml文件中找到

修改成:

并将其余3个Tomcat的port分别修改成8082,8083,8084。

继续往下找到

,修改成:

,并将其余3个Tomcat的port分别修改成8012,8013,8014。

这里是apache和tomcat链接的关键,前台apache就是通过AJP协议与tomcat进行通信的,以完成负载均衡,上面的红色部分(port="8010")就是连接的端口了。

回顾一下httpd.conf配置中的

//cluster>

BalancerMemberajp:

//172.20.50.133:

8011loadfactor=1route=tomcat1

BalancerMemberajp:

//172.20.50.133:

8012loadfactor=1route=tomcat2

BalancerMemberajp:

//172.20.50.183:

8013loadfactor=1route=tomcat3

BalancerMemberajp:

//172.20.50.183:

8014loadfactor=1route=tomcat4

Tomcat中的端口要和“ajp:

//172.20.50.133:

XXXX”后面端口一致。

2.3.3.配置Engine

在tomcat-6.1\conf\server.xml文件中找到

修改成:

并将其余3个Tomcat的jvmRoute分别修改成:

回顾一下httpd.conf配置中的

//cluster>

BalancerMemberajp:

//172.20.50.133:

8011loadfactor=1route=tomcat1

BalancerMemberajp:

//172.20.50.133:

8012loadfactor=1route=tomcat2

BalancerMemberajp:

//172.20.50.183:

8013loadfactor=1route=tomcat3

BalancerMemberajp:

//172.20.50.183:

8014loadfactor=1route=tomcat4

Tomcat中的jvmRoute="tomcatx"要和“route=tomcatx”中的命名一致。

2.3.4.配置Cluster

在tomcat-6.1\conf\server.xml文件中找到被注释掉的,在注释行的下面添加:

expireSessionsOnShutdown="false"

notifyListenersOnReplication="true"

mapSendOptions="6"/>

address="228.0.0.4"

port="45564"

frequency="500"

dropTime="3000"/>

address="auto"

port="5001"

selectorTimeout="100"

maxThreads="6"/>

filter=".*/.gif;.*/.js;.*/.jpg;.*/.png;.*/.htm;.*/.html;.*/.css;.*/.txt;"/>

其余3个Tomcat都要做相同的配置,注意每个Tomcat之间的差别是标签下面的port值不一样,这里是5001,其余3个Tomcat中分别是5002,5003,5004。

下面从左至右分别是4个Tomcat中的server.xml文件

Tomcat6.1Tomcat6.2Tomcat6.3Tomcat6.4

现在Apache和Tomcat的配置已经完毕,下面对其进行验证。

3.集群负载均衡和Session共享验证

3.

3.1.负载均衡测试

3.1.1.应用程序部署和启动

在每个tomcat下部署“购物车”应用程序ShoppingCart.war进行测试,如果Windows2003的防火墙开启,要将端口80,5001,5002添加到例外中。

图16

ShoppingCart部署包:

将ShoppingCart.war拷贝到每个Tomcat的webapps目录下,例如tomcat-6.1的位置是:

D:

\cluster\tomcat-6.1\webapps。

然后分别启动4个Tomcat(例如tomcat-6.1,打开windows命令行窗口,到D:

\cluster\tomcat-6.1\bin目录下,输入startup.bat命令),并能看到集群的一些信息,参考下面的四个截图:

Tomcat-6.1启动图:

图17

Tomcat-6.2启动图:

图18

Tomcat-6.3启动图:

图19

Tomcat-6.4启动图:

图20

3.1.2.并发访问测试

本文利用Apache中所带的ab包(只需要单个文件ab.exe即可,本文ab.exe所在目录为D:

\Apache2.2\bin)来进行并发访问的模拟测试,使用如下的命令就可以完成压力测试。

ab.exe-n20-c10http:

//172.20.50.133:

80/ShoppingCart/welcome.jsp

参数n代表请求的总数量

参数c代表并发的请求数

url为要测试压力的地址

welcome.jsp页面有<%System.out.println("withinwelcome.jsp");%>语句,可以在命令行工具中输出:

withinwelcome.jsp

图21

观察tomcat控制台,总共有20个并发,“witninwelcome.jsp”在每个控制台输出5个,达到负载均衡,下面是其中3个tomcat控制台的截图:

Tomcat-6.1输出结果:

图22

Tomcat-6.2输出结果:

图23

Tomcat-6.3输出结果:

图24

3.2.Session共享测试

3.2.1.Session共享的条件

1.所有session中的对象可以序列化,实现java.io.Serializable接口。

3.3.确保你部署文件中的web.xml有元素(其父元素为),或者设置你的

本文采用的是在web.xml中添加元素。

2.当使用多台机器时,要保证不同机器时间的同步。

3.确保你的loadbalancer是stickysession模式。

3.3.1.Session共享验证

测试程序继续使用购物车ShoppingCart.war应用程序,购物车中的物品存放在session中。

该应用已经在“负载均衡测试”中部署好了,下面做session共享测试:

1.在Windows2003上启动Apache、Tomcat6.1,在WindowsXp上启动Tomcat6.3,在浏览器中输入http:

//172.20.50.133/ShoppingCart/,进入购物车主界面,

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

当前位置:首页 > 解决方案 > 学习计划

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

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