Apache2219和Tomcat6029集群与负载均衡Word文件下载.docx

上传人:b****5 文档编号:20845215 上传时间:2023-01-26 格式:DOCX 页数:30 大小:1,020.73KB
下载 相关 举报
Apache2219和Tomcat6029集群与负载均衡Word文件下载.docx_第1页
第1页 / 共30页
Apache2219和Tomcat6029集群与负载均衡Word文件下载.docx_第2页
第2页 / 共30页
Apache2219和Tomcat6029集群与负载均衡Word文件下载.docx_第3页
第3页 / 共30页
Apache2219和Tomcat6029集群与负载均衡Word文件下载.docx_第4页
第4页 / 共30页
Apache2219和Tomcat6029集群与负载均衡Word文件下载.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

Apache2219和Tomcat6029集群与负载均衡Word文件下载.docx

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

Apache2219和Tomcat6029集群与负载均衡Word文件下载.docx

Windows2003Enterprise

IP:

172.20.50.133PORT:

80

ApacheServer

管理/代理服务器

Windows2003Enterprise

8081

Tomcat1

Web服务器

8082

Tomcat2

WindowsXPSP3

172.20.50.183PORT:

8083

Tomcat3

8084

Tomcat4

表1

集群部署图示

图1

2.配置集群

1.

2.

2.1.安装应用程序

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,有更多可选项。

图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

\cluster\tomcat-6.2

WindowsXp

\cluster\tomcat-6.3

\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

继续往下找到:

<

Directory/>

OptionsFollowSymLinks

AllowOverrideNone

Orderdeny,allow

Denyfromall

/Directory>

修改成

Allowfromall

继续往下找到<

IfModuledir_module>

/IfModule>

加上index.jsp,修改成

DirectoryIndexindex.htmlindex.jsp

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

#Virtualhosts

Includeconf/extra/httpd-vhosts.conf

最后在最下面加入

proxybalancer:

//cluster>

BalancerMemberajp:

//172.20.50.133:

8011loadfactor=1route=tomcat1

8012loadfactor=1route=tomcat2

//172.20.50.183:

8013loadfactor=1route=tomcat3

8014loadfactor=1route=tomcat4

/proxy>

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

httpd.conf文件:

2.2.2.httpd-vhosts.conf设置

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

将文件(D:

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

VirtualHost*:

80>

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

ServerAdminwebmaster@

ServerName

ServerAlias

ProxyPass/balancer:

//cluster/stickysession=JSESSIONID|jsessionidnofailover=On

ProxyPassReverse/balancer:

//cluster/

/VirtualHost>

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

httpd-vhosts.conf文件:

2.3.配置Tomcat

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

Windows2003下:

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

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

WindowsXP下:

D:

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

\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文件中找到<

Serverport="

8005"

shutdown="

SHUTDOWN"

>

,修改成:

8006"

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

2.3.2.配置Connectorport

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

Connectorport="

8080"

protocol="

HTTP/1.1"

connectionTimeout="

20000"

redirectPort="

8443"

/>

修改成:

8081"

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

继续往下找到

8009"

AJP/1.3"

8011"

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

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

8010"

)就是连接的端口了。

回顾一下httpd.conf配置中的

Tomcat中的端口要和“ajp:

XXXX”后面端口一致。

2.3.3.配置Engine

Enginename="

Catalina"

defaultHost="

localhost"

Standalone"

jvmRoute="

tomcat1"

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

tomcat2"

tomcat3"

tomcat4"

Tomcat中的jvmRoute="

tomcatx"

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

2.3.4.配置Cluster

在tomcat-6.1\conf\server.xml文件中找到被注释掉的<

ClusterclassName="

org.apache.catalina.ha.tcp.SimpleTcpCluster"

/>

,在注释行的下面添加:

channelSendOptions="

6"

<

ManagerclassName="

org.apache.catalina.ha.session.BackupManager"

expireSessionsOnShutdown="

false"

notifyListenersOnReplication="

true"

mapSendOptions="

ChannelclassName="

org.apache.catalina.tribes.group.GroupChannel"

<

MembershipclassName="

org.apache.catalina.tribes.membership.McastService"

address="

228.0.0.4"

port="

45564"

frequency="

500"

dropTime="

3000"

ReceiverclassName="

org.apache.catalina.tribes.transport.nio.NioReceiver"

auto"

5001"

selectorTimeout="

100"

maxThreads="

SenderclassName="

org.apache.catalina.tribes.transport.ReplicationTransmitter"

<

TransportclassName="

org.apache.catalina.tribes.transport.nio.PooledParallelSender"

/Sender>

InterceptorclassName="

org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"

org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"

org.apache.catalina.tribes.group.interceptors.ThroughputInterceptor"

/Channel>

ValveclassName="

org.apache.catalina.ha.tcp.ReplicationValve"

filter="

.*/.gif;

.*/.js;

.*/.jpg;

.*/.png;

.*/.htm;

.*/.html;

.*/.css;

.*/.txt;

"

ClusterListenerclassName="

org.apache.catalina.ha.session.ClusterSessionListener"

/Cluster>

其余3个Tomcat都要做相同的配置,注意每个Tomcat之间的差别是<

Receiver>

标签下面的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的位置是:

\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:

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接口。

2.确保你部署文件中的web.xml有<

distributable/>

元素(其父元素为<

/web-app>

),或者设置你的<

Contextdistributable="

本文采用的是在web.xml中添加<

元素。

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

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

3.2.2.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