1Windows下整合Apache2.2和Tomcat6.0集群与负载均衡2目录错误!未找到引用源。31.本文环境平台:Windows2003Enterprise,2GRAM,WindowsXPSP3,4GRAM软件:Jdk1.6.0_20,Apache2.2.19,Tomcat6.0.29机器和网络配置机器类型操作系统网络配置角色备注LenovoPCWindows2003EnterpriseIP:172.20.50.133PORT:80ApacheServer管理/代理服务器LenovoPCWindows2003EnterpriseIP:172.20.50.133PORT:8081Tomcat1Web服务器LenovoPCWindows2003EnterpriseIP:172.20.50.133PORT:8082Tomcat2Web服务器LenovoPCWindowsXPSP3IP:172.20.50.183PORT:8083Tomcat3Web服务器LenovoPCWindowsXPSP3IP:172.20.50.183PORT:8084Tomcat4Web服务器表1集群部署图示InternetApache服务器DBServerTomcat_1ServerTomcat_2ServerTomcat_3ServerTomcat_4Server用户A用户B用户C图142.配置集群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”按钮:图25选择“Iaccept……”,并点击“Next”按钮:图3点击“Next”按钮:图46设置系统信息,在NetworkDomain下填入您的域名(比如:neu.com),在ServerName下填入您的服务器名称(比如:,也就是主机名加上域名),在Administrator'sEmailAddress下填入系统管理员的联系电子邮件地址(比如:mail@neu.com),上述三条信息仅供参考,其中联系电子邮件地址会在当系统故障时提供给访问者,三条信息均可任意填写,无效的也行。下面有两个选择,本文选择的是为系统所有用户安装,使用默认的80端口,并作为系统服务自动启动;另外一个是仅为当前用户安装,使用端口8080,手动启动。点击“Next”按钮。图57选择安装类型,Typical为默认安装,Custom为用户自定义安装,我们这里选择Custom,有更多可选项。点击“Next”按钮。图6出现选择安装选项界面,如下图所示:图78左键点选“ApacheHTTPServer2.2.19”,选择“Thisfeature,andallsubfeatures,willbeinstalledonlocalharddrive.”(此部分,及下属子部分内容,全部安装在本地硬盘上)。图8点击“Change...”按钮,可以手动指定安装目录,本文安装在了“D:\Apache2.2”目录下,点击“Next”按钮。图99确认安装选项无误,如果您认为要再检查一遍,可以点“Back”一步步返回检查。点击“Install”按钮开始安装。图10安装进行中:图1110点击“Finish”按钮完成安装。图12安装向导成功完成,桌面右下角状态栏会出现下面绿色图标,表示Apache服务已经开始运行。图13在图标上左键单击,出现如下界面,有“Start(启动)”、“Stop(停止)”、“Restart(重启动)”三个选项,可以很方便的对安装的Apache服务器进行上述操作。图14测试一下按默认配置运行的网站界面,在浏览器地址栏输入“”,可以看到如下页面,表示Apache服务器已安装成功。图15112.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安装目录Windows2003D:\cluster\tomcat-6.1D:\cluster\tomcat-6.2WindowsXpD:\cluster\tomcat-6.3D:\cluster\tomcat-6.4表22.2.配置Apache2.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.soLoadModuleproxy_ajp_modulemodules/mod_proxy_ajp.soLoadModuleproxy_balancer_modulemodules/mod_proxy_balancer.soLoadModuleproxy_connect_modulemodules/mod_proxy_connect.soLoadModuleproxy_ftp_modulemodules/mod_proxy_ftp.soLoadModuleproxy_http_modulemodules/mod_proxy_http.so继续往下找到:Directory/OptionsFollowSymLinksAllowOverrideNoneOrderdeny,allowDenyfromall/Directory修改成Directory/OptionsFollowSymLinksAllowOverrideNoneOrderdeny,allowAllowfromall/Directory12继续往下找到IfModuledir_module/IfModule加上index.jsp,修改成IfModuledir_moduleDirectoryIndexindex.htmlindex.jsp/IfModule继续往下找到#Includeconf/extra/httpd-vhosts.conf把注释去掉,修改成:#VirtualhostsIncludeconf/extra/httpd-vhosts.conf最后在最下面加入proxybalancer://clusterBalancerMemberajp://172.20.50.133:8011loadfactor=1route=tomcat1BalancerMemberajp://172.20.50.133:8012loadfactor=1route=tomcat2BalancerMemberajp://172.20.50.183:8013loadfactor=1route=tomcat3BalancerMemberajp://172.20.50.183:8014loadfactor=1route=tomcat4/proxy上面的四个BalancerMember成员是我们配置的tomcat集群,后面会对其进行说明。httpd.conf文件:httpd.conf2.2.2.httpd-vhosts.conf设置接下来进行虚拟主机的设置:将文件(D:\Apache2.2\conf\extra\httpd-vhosts.conf)原有的VirtualHost*:80给注释掉,在文件最下面加入VirtualHost*:80ServerAdminwebmaster@neu.comServerNameneu.comServerAlias://cluster/stickysession=JSESSIONID|jsessionidnofailover=OnProxyPassReverse/balancer://cluster//VirtualHost其中的域名和路径根据自己情况设置。httpd-vhosts.conf文件:httpd-vhosts.conf132.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文件中找到Serverport=8005shutdown=SHUTDOWN,修改成:Serverport=8006shutdown=SHUTDOWN,并将其余3个Tomcat的Serverport分别修改成8007,8008,8009。2.3.2.配置Connectorport在tomcat-6.1\conf\server.xml文件中找到Connectorport=8080protocol=HTTP/1.1connectionTimeout=20000redirectPort=8443/修改成:Connectorport=8081protocol=HTTP/1.1connectionTimeout=20000redirectPort=8443/并将其余3个Tomcat的port分别修改成8082,8083,8084。继续往下找到Connectorport=8009protocol=AJP/1.3redirectPort=8443/,修改成:Connectorport=8011protocol=AJP/1.3redirectPort=8443/,并将其余3个Tomcat的port分别修改成8012,8013,8014。这里是apache和tomcat链接的关键,前台apache就是通过AJP协议与tomcat进行通信的,以完成负载均衡,上面的红色部分(port=8010)就是连接的端口了。回顾一下httpd.conf配置中的proxybalancer://clusterBalancerMemberajp://172.20.50.133:8011loadfactor=1route=tomcat1BalancerMemberajp://172.20.50.133:8012loadfactor=1route=tomcat2BalancerMemberajp://172.20.50.183:8013loadfactor=1route=tomcat314BalancerMemberajp://172.20.50.183:8014loadfactor=1route=tomcat4/proxyTomcat中的端口要和“ajp://172.