整合Apache22和Tomcat60集群与负载均衡.docx
- 文档编号:4405518
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:30
- 大小:1,019.39KB
整合Apache22和Tomcat60集群与负载均衡.docx
《整合Apache22和Tomcat60集群与负载均衡.docx》由会员分享,可在线阅读,更多相关《整合Apache22和Tomcat60集群与负载均衡.docx(30页珍藏版)》请在冰豆网上搜索。
整合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
继续往下找到
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文件中找到 2.3.2.配置Connectorport 在tomcat-6.1\conf\server.xml文件中找到 修改成: 并将其余3个Tomcat的port分别修改成8082,8083,8084。 继续往下找到 这里是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之间的差别是 下面从左至右分别是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/,进入购物车主界面,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 整合 Apache22 Tomcat60 集群 负载 均衡