APACHE与tomcat服务安装以及负载均衡配置_第1页
APACHE与tomcat服务安装以及负载均衡配置_第2页
APACHE与tomcat服务安装以及负载均衡配置_第3页
APACHE与tomcat服务安装以及负载均衡配置_第4页
APACHE与tomcat服务安装以及负载均衡配置_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、APACHE 2.2.9+TOMCAT6.0.18 配置负载均衡 目标: 使用 apache 和 tomcat 配置一个可以应用的 web 网站,要达到以下要求:1、 Apache 做为 HttpServer ,后面连接多个 tomcat 应用实例,并进行负载均衡。2、 为系统设定 Session 超时时间,包括 Apache 和 tomcat /download-60.cgi3、 为系统屏蔽文件列表,包括Apache 和 tomcat注:本例程以一台机器为例子,即同一台机器上装一个 一、 前期准备工作:安装用的程序(前提保证已安装了 jdk1.6

2、.0_18 下载: APAHCE 2.2.14 下 载 : /download.cgi 下载 TOMCAT6.0.20 下 载 : apache-tomcat-apache 和 4 个 Tomcat。JDK1.5 以上的版本)apache_2.2.14-win32-x86-no_ssl.msi6.0.20.zip 直 接 解 压Jdk 安装目录下 D:tootsJavajdk1.6.0_18binmsvcr71.dll 复制到 C:WINDOWSsystem32 下二、安装过程 设置环境变量:JAVA_HOME= D:tootsJavajdk1.6.

3、0_18classpath=.;%JAVA_HOME%lib dt.jar;%JAV A_HOME%libtools.jar; ( .;一定不能少, 因为它代表当前路径 )path=%JAV A_HOME%binAPAHCE 安装目录: D:tootsApache 下四个 TOMCAT 目录:自行解压到 (D:toots) 下。分别为 tomcatA , tomcatB, tomcatC , tomcatD三、配置1、 Apache 配置1.1、httpd.conf 配置修改 APACHE 的配置文件 D:tootsApache confhttpd.conf将以下 Module 的注释去掉,

4、这里并没有使用 mod_jk.so 进行 apache 和 tomcat 的链接, 从2.X 以后 apache 自身已集成了 mod_jk.so 的功能。只需简单的把下面几行去掉注释,就相 当于以前用 mod_jk.so 比较繁琐的配置了。这里主要采用了代理的方法,就这么简单。 LoadModule proxy_module modules/mod_proxy.soLoadModule proxy_connect_module modules/mod_proxy_connect.soLoadModule proxy_ftp_module modules/mod_proxy_ftp.soLoa

5、dModule proxy_http_module modules/mod_proxy_http.soLoadModule proxy_ajp_module modules/mod_proxy_ajp.soLoadModule proxy_balancer_module modules/mod_proxy_balancer.so再找到 <IfModule dir_module></IfModule> 加上 index.jsp 修改成<IfModule dir_module>DirectoryIndex index.html index.jsp</IfM

6、odule>1.1.1、 在最下面加入ProxyRequests Off<proxy balancer:/cluster>BalancerMember ajp:/:9001 loadfactor=1 route=jvm1BalancerMember ajp:/:9002 loadfactor=1 route=jvm2BalancerMember ajp:/:9003 loadfactor=1 route=jvm3BalancerMember ajp:/:9004 loadfactor=1 route=jv

7、m4 <proxy >上面的四个 BalancerMember 成员是我们配置的 tomcat 集群。后面会说明的1.2、httpd-vhosts.conf 设置接下来进 行虚拟主机的设置。 APACHE 的虚拟主机设置如下: 首先要修改 conf/httpd.conf 找到(#Include conf/extra/httpd-vhosts.conf) 把注释去掉。# Virtual hostsInclude conf/extra/httpd-vhosts.conf在文件( D:/toots/Apache/conf/extra/httpd- vhosts.conf )最下面加入&l

8、t;VirtualHost *:80>ServerAdmin rosiDocumentRoot "D:/toots/Apache/docs/dummy-host3.localhost"/ 你的安装目录ServerName localhost/ 服务名 (域名 )ServerAlias localhost/ 服务别名ProxyPass / balancer:/cluster/ stickysession=jsessionid nofailover=OnProxyPassReverse / balancer:/cluster/</VirtualHost>其 中

9、的域名和路径根据你自己情况设置 然后再设置 TOMCAT 虚拟主机2 配置 tomcat2.1. 配置 server 的关闭我 们需要在一台机器上跑 4 个不同的 tomcat ,需要修改不同的 tomcat 的关闭口, 避免 出现端口被占用的情况。在TomcatAconf,TomcatBconf,TomcatCconf 下和TomcatDconf 下的 server.xml 中找到 server, 将:<Server port="8005" shutdown="SHUTDOWN"> 改为<Server port="XXXX&

10、quot; shutdown="SHUTDOWN">XXXX 在这里表示不同的端口: 我的其它四个 tomcat 分别使用 9006,9007,9008 , 90092.2. 配置 Engine把原来的配置注释掉,把下面一句去掉注释。并标明 jvmRoute="jvm2".<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm2"> 以下是原来的配置。<!- <Engine name="C

11、atalina" defaultHost="localhost"> ->其他( tomcat6.02 和 tomcat6.03 )也要同样 配置。注意: jvmRoute 配置不要一样。<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm3"><Engine name="Catalina" defaultHost="localhost" jvmRoute="

12、jvm4">2.3. 配置 Connector 原来的默认配置。<!- Define an AJP 1.3 Connector on port 8009 -><Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />这里是 apache 和 tomcat 链接的关键,前台 apache 就是通过 AJP 协议与 tomcat 进行通信 的,以完成负载均衡的作用。也可以用 HTTP 协议。大家注意它们是如何连接通信的,上 面的红

13、色部分( port="8009" )就是连 接的接口了。把四个 tomcat 的 <Connector port="XXX" />port 分别改成与上面<proxy balancer:/cluster>#与 tomcatA 对应, route 与 <Engine jvmRoute="jvm1"> 对应。BalancerMember ajp:/:9001 loadfactor=1 route=jvm1#与 tomcatB 对应, route 与 <Engine jvmRout

14、e="jvm2"> 对应。BalancerMember ajp:/ :9002 loadfactor=1 route=jvm2#与 tomcatC 对应, route 与 <Engine jvmRoute="jvm3"> 对应。BalancerMember ajp:/ :9003 loadfactor=1 route=jvm3#与 tomcatD 对应, route 与 <Engine jvmRoute="jvm4"> 对应。BalancerMember ajp:/ 1

15、:9004 loadfactor=1 route=jvm4</proxy>中的端口对应,tomcatA 改为 <Connector port="9001" protocol="AJP/1.3" redirectPort="8441" /> .tomcatB 改为 <Connector port="9002" protocol="AJP/1.3" redirectPort="8442" /> tomcatC 改为 <Co

16、nnector port="9003" protocol="AJP/1.3" redirectPort="8443" /> tomcatD 改为 <Connector port="9004" protocol="AJP/1.3" redirectPort="8444" /><Connector executor="tomcatThreadPool"port="8081" protocol="HTTP/1

17、.1" connectionTimeout="20000" redirectPort="9441" /><Connector executor="tomcatThreadPool"port="8082" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="9442" /><Connector executor="tomcatThreadPool&

18、quot;port="8083" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="9443" /><Connector executor="tomcatThreadPool"port="8084" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="9444" />

19、一定要与上面的一致。 同时也要把 redirectPort 的值改成 唯一的, 确保四个 tomcat 的都不 一样。2.4.配置 Cluster( 每个 tomcat 中都要修改 ) 原来的配置。<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>修改为以下的代码:vReceiver port= ” XX' />port也要保证唯一性,tomcatA 改为 <Receiver port="5001".tomcatB 改为 vReceiver

20、port="5002"tomcatC 改 为 vReceiver port="5003"tomcatD 改为 vReceiver port="5004"确保四 个tomcat的都不一样。以下是tomcatA的内容红色部分, 分别是5001,5002,5003,5004.vClusterclassName="org.apache.catalina.ha.tcp.SimpleTcpCluster"channelSendOptions="6">vManager className="o

21、rg.apache.catalina.ha.session.BackupManager"expireSessionsOnShutdown="false"notifyListenersOnReplication="true"mapSendOptions="6"/>v!-vManager className="org.apache.catalina.ha.session.DeltaManager"expireSessionsOnShutdown="false"notifyListen

22、ersOnReplication="true"/>->vChannel className="org.apache.catalina.tribes.group.GroupChannel">vMembership className="org.apache.catalina.tribes.membership.McastService"address=""port="45564"frequency="500"dropTime="30

23、00"/>vReceiver className="org.apache.catalina.tribes.transport.nio.NioReceiver" address="auto"port="5001"selectorTimeout="100"maxThreads="6"/>vSender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">vTra

24、nsport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/> v/Sender>vInterceptor className="erceptors.TcpFailureDetector"/> vInterceptorclassName="erceptors.MessageDispat

25、ch15Interceptor"/>vInterceptor className="erceptors.ThroughputInterceptor"/> v/Channel><Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=".*.gif;.*.js;.*.jpg;.*.png;.*.htm;.*.html;.*.css;.*.txt;"/&

26、gt;<Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer" tempDir="/tmp/war-temp/"deployDir="/tmp/war-deploy/"watchDir="/tmp/war-listen/"watchEnabled="false"/><ClusterListener className="org.apache.catalina.ha.session.Clust

27、erSessionListener"/> </Cluster>这个设置是主要用以 tomcat 的集群。把解压缩版的 tomcat6 注册成服务并设置自启动当然 ,这样注册出来的服务启动类型是手动的 ,如果想设置为开机自动启动,则需要修改注册服务自启动:bin 目录下的 service.bat 文件打开此文 件 ,在倒数第三行左右的那句输出echo The service '%SERVICE_NAME%' has been installed.这 句是输出服务安装成功 ,在这之前加一句sc config %SERVICE_NAME% start= a

28、uto就 OK 了,以后开机后 tomcat 服务就自动启动了 注册服务:首先,在开始->运行中敲cmd,进入MS-DOS界面cd 到 tomcat 的 bin 目录下运行命令 service install TomcatA就可以把 tomcat 注册成系统服务了,服务的名 称是 TomcatA 删除服务运行service uninstall TomcatA 就可以了四、启 动服务,测试 tomcat 自带的例子1测试apache和tomcat协作。先在每个 tomcat 中的 webappsROOT 下的 index.jsp 下面加上以下的测试代码部分: (X 代 表不同的 tomca

29、t 的输出不同的信息 ),把 index.html 删除,以免影响测试效果。在最后 面 的加上 .即 </table></body> 之间。<%System.out.println("tomcat6.0X deal with request");%>然后再通过 http:/localhost 来访问一下,就会出现大家熟悉的猫猫。 然后再通过分别访问http:/ :8081,http:/ :8082 ,http:/ :8083 ,http:/ :8084它们访问的内容和

30、上面的 http:/ 是一样的。这样就说明 apache 和 TOMCAT 整合成功!这样就说明 apache 和 TOMCAT 整合成功!2、测试均衡器通过 http:/ 多次访问,要想看到真正的效果,必须用一些压力测试工具,可用微软 Microsoft Web Application Stress Tool 进行简单压力测试, 不然你靠不停刷新是体现不出 来的,你只会在一个 tomcat 的控制台有输出结果。只用用压力测试工具模拟大量用户同时 访问,你 会发现四个 tomcat 控制台均有打出控制信息,说明均衡器工作正常。3、测试Session复制访

31、问 url: http:localhost/examples/servlet/SessionExample 可以得至U个关于 session的例 子,我们用它来测试集群的错误恢复能力。测试步骤如下:关闭 tomcat1 和 tomcat2;启 动 tomcat1在浏览器中输入属性名tomcatl和属性值tomcatl再提交,返回的页面显示session中有刚刚输入的 tomcat1 属性;启动 tomcat2;过一会后(等待 tomcat2 和 tomcat1 通信并复制信息)关闭 tomcat1 ;在浏览器中输入 属性名tomcat2和属性值tomcat2再提交,返回的页面显示 sessio

32、n中有刚 刚输入的 tomcat2 属性,还有先前输入的 tomcat1 属 性;启动 tomcat1 ;过一会后(等待 tomcat2 和 tomcat1 通信并复制信息)关闭 tomcat2;在浏览器中输入属性名tomcatll和属性值tomcatll再提交,返回的页面显示 session中有刚刚输入的 tomcat11 属性,还有先前输入的 tomcat1 和 tomcat2 属性 ;域名绑定与虚拟目录设置 :server.xml 的修改方式如下 :(一)多域名绑定2. 接下来就是重点了哈哈 .单个域名绑定:原始 :<Engine name="Catalina" defaultHost="localhost"><Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false" /></Engine>当 然这里我把注释代码统统删除掉了,省的碍眼修改后 :<Host name=&quo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论