轻松实现windows平台Apache,Tomcat集群和负载均衡

合集下载

Apache2.2 tomcat-6.0.18负载均衡与集群

Apache2.2 tomcat-6.0.18负载均衡与集群

Apache2.2tomcat-6.0.18负载均衡与集群Apache +3个tomcat 惠通通信目录一、准备工作 (3)1、工具软件 (3)二、安装 (3)1、JDK安装[图文详解] (3)2、 Tomcat的安装 (5)注册tomcat1的环境变量 (5)注册tomcat2的环境变量 (6)注册tomcat3的环境变量 (6)3、 Apache安装[图文详解] (6)三、配置 (15)1. 配置Apache (15)1.1、在Apache安装目录下找到conf/httpd.conf文件 (15)1.2、向下拉动文档找到<IfModule dir_module> (15)1.3、继续下拉文档找到 (15)1.4、用文本编辑器打开conf/extra/httpd-vhosts.conf (15)1.5、回到httpd.conf,在文档最下面加上 (16)1.6、在Apache安装目录下找到conf/extra目录夹,修改httpd-mpm.conf (16)1.7、重启Apache服务 (17)2、配置Tomcat (17)2.1 tomcat1的配置 (17)2.2 tomcat2的配置 (18)2.3 tomcat3的配置 (19)集群和负载均衡测试 (20)一、准备工作1、工具软件(这里列举的是我配置时使用的版本):JDK1.6、Tomcat6、Apache2.2、JK2.2.4。

在附件Tools里面已经给出了各个可用的版本。

当然你也可以在网上下载。

不过需要注意软件的版本。

二、安装1、JDK安装[图文详解]1.1点击JDK1.6安装文件进行安装1.2 . 选择安装路径,默认为C:盘。

我选择的是E盘。

1.3.等待1.4.完成。

Jdk的安装至此完成。

2、 Tomcat的安装这里我们采用解压版本Tomcat6018版本,要用到3个tomcat,所以解压Tomcatl6018压缩包,到D:\Tomcat下即可,解压并复制为三个,分别把名字改成tomcat1, tomcat2, tomcat3。

Apache与tomcat的整合、负载均衡和加入启动和系统服务

Apache与tomcat的整合、负载均衡和加入启动和系统服务

Apache与tomcat的整合、负载均衡和加入启动和系统服务系统环境:Windows Server 2008 R2 SP1虚拟机软件:Hyper-V治理器6.1.7601.17514虚拟机环境:Red Hat Enterprise Linux Server release 5.4 (Tikanga) X64安装软件版本:JDK:1.6.0_19 Tomcat:6.0.20 Apache:2.2.19 JK: 1.2.10实施步骤:一、安装软件。

tar -xzvf jdk1.6.0_19.tar.gztar xvfz tomcat.tar.gztar zxvf httpd-2.2.19.tar.gzcd httpd-2.2.19./configure --prefix=/usr/local/apache2 --enable-so --enable-mods-shared =most --with-mpm=workermakemake installtar zxvf jakarta-tomcat-connectors-1.2.10-src.tar.gzcd jakarta-tomcat-connectors-1.2.10-src/jk/native/./buildconf.sh./configure --with-apxs=/usr/local/apache2/bin/apxsmakemake install二、配置整合及负载均衡1 cp /usr/local/jakarta-tomcat-connectors-1.2.10-src/jk/native/apache-2.0/ mod_jk.so /usr/local/apache2/modules配置环境变量vi /etc/profile在文本末尾加入以下内容JA V A_HOME=JDK安装路径CATALINA_HOME=tomcat安装路径CLASSPATH=.:$JA V A_HOME/lib/dt.jar:$JA V A_HOME/lib/tools.jar:$CA TALINA_HOME/lib/servlet-api.jarPATH=$JA V A_HOME/bin:$PATHexport JA V A_HOME CATALINA_HOME CLASSPATH PATH应用初始的环境变量source /etc/profile修改apache的httpd.confvi /usr/local/apache2/conf/httpd.conf修改以下几处同时在末尾加上:Include /usr/local/apache2/conf/mod_jk.conf添加及设置mod_jk.confvi /usr/local/apache2/mod_jk.conf增加以下内容#加载mod_jk ModuleLoadModule jk_module modules/mod_jk.so#指定workers.properties文件路径JkWorkersFile conf/workers.propertiesJkLogFile logs/mod_jk.logJkLogLevel info#指定那些要求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配操纵制器JkMount /* lb添加及设置workers.propertiesvi /usr/local/apache2/conf/workers.properties添加以下内容worker.list = lb,tomcat1,tomcat2#server 列表#========tomcat1========worker.tomcat1.port=8009#ajp13 端口号,在tomcat下server.xml配置,默认8009worker.tomcat1.host=10.1.1.2#tomcat的主机地址,如不为本机,请填写ip地址worker.tomcat1.type=ajp13worker.tomcat1.lbfactor = 1#server的加权比重,值越高,分得的要求越多#========tomcat2========worker.tomcat2.port=8009#ajp13 端口号,在tomcat下server.xml配置,默认8009worker.tomcat2.host=10.1.1.3#tomcat的主机地址,如不为本机,请填写ip地址worker.tomcat2.type=ajp13worker.tomcat2.lbfactor = 1#server的加权比重,值越高,分得的要求越多#========controller,负载均衡操纵器========worker.lb.type=lbworker.lb.balanced_workers=tomcat1,tomcat2#指定分担要求的tomcatworker.lb.sticky_session=17、将JSP文件放入/usr/local/tomcat/webapps/ROOT8 启动apache和tomcat8 打开扫瞄器输入http://apache服务器的地址或者localhost/index.jsp确实是这么简单。

轻松实现Apache+Tomcat集群和负载均衡

轻松实现Apache+Tomcat集群和负载均衡

轻松实现Apache+Tomcat集群和负载均衡0.环境说明Apache :apache_2.0.55 1 个Tomcat: apache-tomcat-5.5.17 (zip版) 2个mod_jk:: mod_jk-apache-2.0.55.so 1个第一部分、负载均衡负载均衡,就是apache将客户请求均衡的分给tomcat1,tomcat2....去处理1.安装apche,tomcat/ 下载Apache 2.0.55/download-55.cgi 下载tomcat5.5 zip版本(解压即可,绿色版)/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.15/ 下载mod_jk,注意和apache版本匹配按照jdk,我的路径为:E:\ide\apache\Apache2解压两份Tomcat, 路径分别为E:\ide\tomcat1,E:\ide\tomcat2下载mod_jk2.修改Apache配置文件http.conf在apache安装目录下conf目录中找到http.conf 在文件最后加上下面一句话就可以了include "E:\ide\apache\Apache2\conf\mod_jk.conf"3.http.conf 同目录下新建mod_jk.conf文件,内容如下#加载mod_jk ModuleLoadModule jk_module modules/mod_jk-apache-2.0.55.so#指定workers.properties文件路径JkWorkersFile conf/workers.properties#指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器JkMount /*.jsp controller4.在http.conf同目录下新建workers.properties文件,内容如下worker.list = controller,tomcat1,tomcat2 #server 列表#========tomcat1========worker.tomcat1.port=8009 #ajp13 端口号,在tomcat下server.xml配置,默认8009 worker.tomcat1.host=localhost #tomcat的主机地址,如不为本机,请填写ip地址worker.tomcat1.type=ajp13worker.tomcat1.lbfactor = 1 #server的加权比重,值越高,分得的请求越多#========tomcat2========worker.tomcat2.port=9009 #ajp13 端口号,在tomcat下server.xml配置,默认8009 worker.tomcat2.host=localhost #tomcat的主机地址,如不为本机,请填写ip地址worker.tomcat2.type=ajp13worker.tomcat2.lbfactor = 1 #server的加权比重,值越高,分得的请求越多#========controller,负载均衡控制器========worker.controller.type=lbworker.controller.balanced_workers=tomcat1,tomcat2 #指定分担请求的tomcatworker.controller.sticky_session=15.修改tomcat配置文件server.xml如果你在不同电脑上安装tomcat,tomcat的安装数量为一个,可以不必修改tomcat配置文件我这里是在同一台电脑上安装两个tomcat,所以需要更改其中一个的设置打开tomcat2/conf/server.xml文件6.编写一个测试jsp建立一个目录test.里面新建一个test.jsp,内容为<%System.out.println("===========================");%>把test放到tomcat1,tomcat2的webapps下7.启动apache,tomcat1,tomcat2,进行测试通过http://localhost/test/test.jsp 访问,查看tomcat1的窗口,可以看到打印了一行"=========="再刷新一次,tomcat2也打印了一条,再刷新,可以看到请求会被tomcat1,tomcat2轮流处理,实现了负载均衡第二部分、配置集群只配置负载均衡还不行,还要session复制,也就是说其中任何一个tomcat的添加的session,是要同步复制到其它tomcat,集群内的tomcat都有相同的session1.修改tomcat1, tomcat2的server.xml,将集群部分配置的在注释符删掉,并将tomcat2的4001端口改为4002,以避免与tomcat冲突,当然,如果是两台电脑,是不用改端口的,去掉注释符即可2.修改测试项目test修改test.jsp,内容如下<%@ page c %><%@ page import="java.util.*" %><html><head><title>Cluster App Test</title></head><body>Server Info:<%out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>");%><%out.println("<br> ID " + session.getId()+"<br>");// 如果有新的Session 属性设置String dataName = request.getParameter("dataName");if (dataName != null && dataName.length() > 0) {String dataV alue = request.getParameter("dataV alue");session.setAttribute(dataName, dataV alue);}out.print("<b>Session 列表</b>");Enumeration e = session.getAttributeNames();while (e.hasMoreElements()) {String name = (String)e.nextElement();String value = session.getAttribute(name).toString();out.println( name + " = " + value+"<br>");System.out.println( name + " = " + value);}%><form action="index.jsp" method="POST">名称:<input type=text size=20 name="dataName"><br>值:<input type=text size=20 name="dataV alue"><br><input type=submit></form></body></html>然后在test 新建WEB-INF目录,WEB-INF下新建web.xml,内容如下<web-app xmlns="/xml/ns/j2ee"xmlns:xsi=/2001/XMLSchema-instancexsi:schemaLocation="/xml/ns/j2ee/xml/ns/j2ee/web-ap p_2_4.xsd" version="2.4"><display-name>TomcatDemo</display-name><distributable/></web-app>注意:在你的应用的web.xml加入<distributable/>即可ok,讲test复制到tomcat1,tomcat2的webapps下,重启apache,tomcat1,tomcat2,输入网址http://localhost/test/test.jsp新建一个名称为xiaoluo ,值为cdut 的session,提交查询,新开一个ie窗口,再提交查询,如图,可以看到,两个tomcat 是负载均衡,并且session同步的需要注意的是,配置集群时设置jvmRoute时,要把原来的Engine注释掉,去掉上面那一行的注释,也就是修改成<!-- Y ou should set jvmRoute to support load-balancing via JK/JK2 ie : --><Engine name="Standalone" defaultHost="localhost" debug="0" jvmRoute="tomcat1">Apache-Tomcat负载平衡配置方法为了提高系统的高可用性及系统性能,我们常常会用到负载平衡,下面我们介绍一个经常用到的架构,使用Apache对Tomcat进行负载平衡的方法。

轻松实现Apache Tomcat整合配置

轻松实现Apache Tomcat整合配置
注意:由于Apache和Tomcat项目与集群相关的模块均处于持续发展 和优化过程中,不保证本文配置方法对所有Apache和Tomcat版本均适 用。
3、Apache、Tomcat配置详解

Apache配置
1、在Apache安装目录下找到conf/ httpd .conf文件,以文件编辑器打开。 去掉一下文本前的注释符(#)以便让Apache在启动时自动加载代理(proxy) 模块。

软件准备
1. 安装JDK1.6 2. Apache服务器 2.2.22 : /download.cgi 下载msi安装程序, 选择no ssl版本 。 3. Tomcat 6.0 .35: /download-60.cgi下载Tomcat 6.0.35 zip文件 。
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
3、配置Connector的端口,找到Define an AJP 1.3 Connector on port 8009,这是 tomcat接收从Apache过来的ajp连接时使用的端口,保留tomcat1、tomcat3的设 置,把tomcat2端口改为9009。
b. mod_ proxy 方式
mod_proxy是一种分工合作的的形式,通过主服务器 跳转到各台主机负责不同的任务而实现任务分工,这种 形式不能实现负载均衡,只能提供主服务器的访问跳转 。 注: mod_ proxy方式是本章内容采用的方式,步骤后 续详解。
c. 其他方式
如mod_ proxy_ blancer 方式等。

Apache与tomcat的整合、负载均衡和加入启动和系统服务

Apache与tomcat的整合、负载均衡和加入启动和系统服务

Apache与tomcat的整合及负载均衡系统环境:Windows Server 2021 R2 SP1虚拟机环境:Red Hat Enterprise Linux Server release 5.4 (Tikanga) X64安装软件版本:JDK:1.6.0_19 Tomcat: Apache: JK:实施步调:一、安装软件。

1tar -xz2345./configure --prefix=/usr/local/apache2 --enable-so --enable-mods-shared=most--with-mpm=worker6make7make install89/jk/native/1011./configure --with-apxs=/usr/local/apache2/bin/apxs12make13make install二、配置整合及负载均衡1 cp / /usr/local/apache2/modules2配置环境变量vi /etc/profile在文本末尾参加以下内容JAVA_HOME=JDK安装路径CATALINA_HOME=tomcat安装路径CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.PATH=$JAVA_HOME/bin:$PATHexport JAVA_HOME CATALINA_HOME CLASSPATH PATH3应用初始的环境变量source /etc/profile4点窜以下几处而且在末尾加上:Include /usr/local/apache2/conf/ 5添加及设置vi /usr/local/apache2/增加以下内容#加载mod_jk ModuleJkLogLevel info载分配控制制器JkMount /* lb6添加及设置vi /usr/local/apache2/conf/添加以下内容worker.list = lb,tomcat1,tomcat2#server 列表#========tomcat1========worker.tomcat1.port=8009#ajp13 端标语,在tomcat下server.xml配置,默认8009#tomcat的主机地址,如不为本机,请填写ip地址worker.tomcat1.type=ajp13worker.tomcat1.lbfactor = 1#server的加权比重,值越高,分得的请求越多#========tomcat2========worker.tomcat2.port=8009#ajp13 端标语,在tomcat下server.xml配置,默认8009#tomcat的主机地址,如不为本机,请填写ip地址worker.tomcat2.type=ajp13worker.tomcat2.lbfactor = 1#server的加权比重,值越高,分得的请求越多#========controller,负载均衡控制器========worker.lb.type=lbworker.lb.balanced_workers=tomcat1,tomcat2#指定分担请求的tomcatworker.lb.sticky_session=17、将JSP文件放入/usr/local/tomcat/webapps/ROOT8 启动apache和tomcat8 翻开浏览器输入就是这么简单。

apachetomcat负载均衡整合文档

apachetomcat负载均衡整合文档

1预备相关软件1.1下载安装ApacheApache下载地址:,选择下载windows平台安装包文件。

同意安装协议配置Apache效劳器信息Network Domain设置站点名称,那个可不能对实际站点产生阻碍。

Server Name设置当前效劳器名称,那个可不能对实际站点产生阻碍。

Administrator’s Email Address设置站点治理员邮件地址,Apache文档说明当站点犯错时的页面底部会显现该地址。

选择安装类型一样选择典型(Typical)安装选择安装途径那个地址利用默许安装途径,实际安装进程能够选择其他途径。

等待安装进程安装完毕1.2下载1.3下载Tomcat Connector(jk.)Tomcat Connector下载地址:此处注意必然要下载与Apache版本匹配的jk。

jk文件名后半部份名称反映Apache的版本,如:其匹配的Apache为,与本次安装的Apache版本一致。

2单台主机单站点集群、负载均衡2.1Apache配置将Tomcat Connector文件拷贝到Apache安装目录\modules下。

在Apache安装目录找到conf/文件,在末尾增加一下内容2.2Tomcat Connector配置在Apache配置目录\conf创建配置文件,该文件要紧用于配置Apache与Tomcat的集成要用到的Tomcat实例和负载均衡分发操纵器。

文件放置一下内容;2.3Tomcat配置Tomcat配置文件要紧注意两个地址,一个是Engine节点需要增加节点标识jvmRoute,一个是将本来注释掉的Session复制节点改成有效。

具体如下:<!-- Define the top level container in our container hierarchy --><!--jvmRoute在各个Tomcat配置中不能重复且要与文件中的名称一致--> <Engine name="Catalina" defaultHost=" saas " jvmRoute=" tomcat1"> <!—每一个Tomcat的Hostname必需一样<Host name="saas" appBase="webapps "unpackW ARs="true" autoDeploy="true"xmlValidation="false" xmlNamespaceAware="false">那个地址省略N多注释将下面的注释变去掉(若是需要做session复制需做以下操作)<!--<Cluster className=""/><Valve className=""/>-->增加:<Cluster className=""channelSendOptions="8"><Manager className=""expireSessionsOnShutdown="false"notifyListenersOnReplication="true"/><Channel className=""><Membership className=""address=""port="45564"frequency="500"dropTime="3000"/><Receiver className=""address="auto"port="4000"autoBind="100"selectorTimeout="5000"maxThreads="6"/><!-- timeout="60000"--><Sender className=""><Transport className="" /></Sender><Interceptor className=""/><Interceptor className=""/><Interceptor className=""/></Channel><Valve className=""filter=""/><Valve className=""/><Deployer className=""tempDir="/tmp/war-temp/"deployDir="/tmp/war-deploy/"watchDir="/tmp/war-listen/"watchEnabled="false"/><ClusterListener className=""/><ClusterListener className=""/></Cluster><!—Host节点增加一下内容表示站点根途径--><Context path="/sc" docBase="." privileged="true"/>咱们别离将两个Tomcat配置文件中的jvmRoute设置为tomcat1、tomcat2,Server节点端口别离配置为8005和9005,Connector节点端口别离配置为8080和9090,AJPConnector端口别离配置为8009和9009,Connector端口配置参照。

Tomcat和Apache集群for windows 2

Tomcat和Apache集群for windows 2

Apache+Tomcat集群配置(Windows)目录一、准备环境: (2)Apache2.2.22、Tomcat6.0、mod_jk-1.2.31-httpd-2.2.3 (3)1. Apache: (3)2. Jk: (3)3. tomcat: (3)4. 现场集群要求: (4)二、配置过程 (4)1. 修改apache配置: (4)2. 配置tomcat (8)三、测试项目 (10)四、 Session测试 (11)Tomcat和Apache集群和负载均衡配置一、准备环境:由于现场环境所限,以下截图均为模拟现实环境的虚机部署截图。

1. Apache:Apache 是http 服务器,我们利用其对Tomcat 进行负载均衡。

下载地址为:/download.cgi#apache22。

下载后直接安装msi 即可,如果没有其他的http 服务器(如iis)则应该可以成功安装,端口即为80,能够访问http://localhost/说明安装成功。

注:如果80端口被占用可改apache 默认端口,在apache 安装目录中:\Apache Software Foundation\Apache2.2\conf\ httpd.conf文件中修改端口等,如下图2. Jk :JK 是通过 AJP 协议与 Tomcat 服务器进行通讯的,Tomcat 默认的 AJP Connector 的端口是 8009。

JK 本身有两个版本分别是 1 和 2,其中版本 2 早已经废弃了,以后不再有新版本的推出了,所以建议采用版本 1。

下载地址:/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.31/;这里选择的是mod_jk-1.2.31-httpd-2.2.3.so ,如果http 服务器是Apache2.0.x 版本,则必须选择mod_jk-1.2.31-httpd-2.0.52.so ;其实Apache2.2已经集成Tomcat 插件模块了,可以不用JK 插件就可以实现Tomcat 负载均衡,但就稳定性而言,建义采用JK 方式。

在win32下apache与tomcat做负载均衡

在win32下apache与tomcat做负载均衡

3、运行APACHE!
二、安装两个tomcat
1、下载apache-tomcat-5.5.25.zip解压即可
2、分别命名这两个tomcat为tomcat1,tomcat2
3、修改tomcat的配置文件server.xml:
让两个tomcat的shutdown端口,启动端口,Connector ajp端口和Engine的jvmRoute都不相同,并且把server.xml中如下代码:
<Connector port=”8009″ protocol=”AJP/1.3″ redirectPort=”8443″ />改为
<Connector port=”8019″ protocol=”AJP/1.3″ redirectPort=”8443″ />
<Engine name=”Catalina” defaultHost=”localhost”>改为
18.#
19.
20.# list the workers by name
21.
22.worker.list=loadbalancer, status
23.
24.# localhost server 1
25.# ————————
26.worker.worker1.port=8019
34.worker.worker2.type=ajp13
35.worker.worker2.stopped=1
36.
37.worker.loadbalancer.type=lb
38.worker.retries=3
39.worker.loadbalancer.balanced_workers=worker1, worker2

用apache和tomcat搭建集群,实现负载均衡

用apache和tomcat搭建集群,实现负载均衡

型的企业应用每天都需要承受巨大的访问量,在着巨大访问量的背后有数台服务器支撑着,如果一台服务器崩溃了,那么其他服务器可以使企业应用继续运行,用户对服务器的运作是透明化的,如何实现这种透明化呢?由如下问题需要解决。

一.Session的复制二.如何将请求发送到正常的服务器针对以上问题,可以使用群集和负载均衡来解决,整体架构如下:(图片来自:)中间由一台服务器做负载均衡(Load Balancer),它将所有请求,根据一定的负载均衡规则发送给指定的群集服务器(Cluster),群集服务器拥有着相同的状态和相同的应用程序,并且他们的Session是相互复制的,这样,不管访问哪台服务器都具有相同的结果,即使一台服务器崩溃掉以后,可以由其他集群服务器继续负责应用程序的运行。

Tomcat中如何配置群集我们假设有如下场景,一台负载均衡服务器负责请求的均衡,群集服务器A和群集服务器B组成一个群集,当某个群集服务器崩溃后,另外一台继续负责应用程序的运行。

一.配置Tomcat5.5.12群集服务器A修改Tomcat配置文件server.xml1.群集服务器A的端口号与B不冲突,即使Server Port,Connector,Coyote/JK2 AJP Connector的端口号唯一2.在Host元素下增加以下内容:<Cluster className="org.apache.catalina.cluster.tcp.SimpleTcpCluster"managerClassName="org.apache.catalina.cluster.session.DeltaManager"expireSessiuseDirtyFlag="true"notifyListeners><!--每个群集服务器都需要有相同的Membership配置--><MembershipclassName="org.apache.catalina.cluster.mcast.McastService"mcastAddr="228.0.0.4"mcastPort="45564"mcastFrequency="500"mcastDropTime="3000"/><!--tcpListenAddress:本机IP地址服务器将此地址广播给其他群集服务器--><ReceiverclassName="org.apache.catalina.cluster.tcp.ReplicationListener"tcpListenAddress="10.10.13.145"tcpListenPort="4001"tcpSelectorTimeout="100"tcpThreadCount="6"/><SenderclassName="org.apache.catalina.cluster.tcp.ReplicationTransmitter"replicatiackTimeout="15000"waitForAck="true"/><Valve className="org.apache.catalina.cluster.tcp.ReplicationValve"filter=".*\.gif;.*\.js;.*\.jpg;.*\.png;.*\.htm;.*\.html;.*\.css;.*\.txt;"/><Deployer className="org.apache.catalina.cluster.deploy.FarmWarDeployer"tempDir="/tmp/war-temp/"deployDir="/tmp/war-deploy/"watchDir="/tmp/war-listen/"watchEnabled="false"/><ClusterListener className="org.apache.catalina.cluster.session.ClusterSessionListener"/></Cluster>3.修改Web应用程序配置文件web.xml在web.xml文件中<web-app>元素下增加以下内容:<!--此应用将与群集服务器复制Session--><distributable/>二.配置Tomcat5.5.12群集服务器B与群集服务器A配置基本相同,唯一不同的地方就是server.xml文件中<ReceiverclassName="org.apache.catalina.cluster.tcp.ReplicationListener"tcpListenAddress="10.10.13.145"tcpListenPort="4002"tcpSelectorTimeout="100"tcpThreadCount="6"/>tcpListenAddress应为本机地址,如果两台群集服务器在一台机器上,则端口号要不同注意:B的其他端口不要与A冲突。

apache+tomcat+mysql_负载平衡和集群

apache+tomcat+mysql_负载平衡和集群

前言:公司开发了一个网站,估计最高在线人数是3万,并发人数最多100人。

开发的网站是否能否承受这个压力,如何确保网站的负荷没有问题,经过研究决定如下:(1)采用负载平衡和集群技术,初步机构采用Apache+Tomcat的机群技术。

(2)采用压力测试工具,测试压力。

工具是Loadrunner。

硬件环境搭建:为了能够进行压力测试,需要搭建一个环境。

刚开始时,测试在公司局域网内进行,但很快发现了一个问题,即一个脚本的压力测试结果每次都不一样,并且差别很大。

原来是受公司网络的影响,于是决定搭建一个完全隔离的局域网测试。

搭建后的局域网配置如下:(1)网络速度:100M(2)三台服务器:负载服务器:操作系统windows2003,Tomcat服务器:操作系统windows2000 Professional数据库服务器:操作系统windows2000 Professional三台机器的cpu 2.4 G, 内存1G。

软件环境搭建:软件的版本如下:Apache 版本:2.054,Tomcat5.0.30,mysql:4.1.14.JDK1.5压力测试工具:Loadrunner7.8。

负载平衡方案如下:一台机器(操作系统2003)安装apache,作为负载服务器,并安装tomcat作为一个worker;一个单独安装tomcat,作为第二个worker;剩下的一台单独作为数据库服务器。

Apache和tomcat的负载平衡采用JK1.2.14(没有采用2.0,主要是2.0不再维护了)。

集群方案:采用Tomcat本身的集群方案。

在server.xml配置。

压力测试问题:压力测试后,发现了一些问题,现一一列出来:(1)采用Tocmat集群后,速度变得很慢。

因为集群后,要进行session复制,导致速度较慢。

Tomcat 的复制,目前不支持application复制。

复制的作用,主要用来容错的,即一台机器有故障后,apache可以把请求自动转发到另外一个机器。

实战Apache+Tomcat集群和负载均衡

实战Apache+Tomcat集群和负载均衡

实战Apache+Tomcat集群和负载均衡目录1. 什么是J2EE集群 (3)1.1. 序言 (3)1.2. 基本术语 (3)伸缩性(Scalability): (3)高可用性(High availability): (4)负载均衡(Load balancing): (4)容错(Fault tolerance): (4)失效转移(Failover): (4)等幂方法(Idempotent methods): (5)1.3. 什么是J2EE集群 (5)2. J2EE集群给我们带来了什么 ....................................................... 错误!未定义书签。

3. 实战准备 (8)4. 首战失败......................................................................................... 错误!未定义书签。

5. 详细配置......................................................................................... 错误!未定义书签。

6. 负载均衡......................................................................................... 错误!未定义书签。

7. 失败转移......................................................................................... 错误!未定义书签。

1.什么是J2EE集群1.1. 序言越来越多的关键应用运行在J2EE(Java 2, Enterprise Edition)中,这些诸如银行系统和账单处理系统需要高的可用性(High Availability, HA),同时像Google 和Yahoo这种大系统需要大的伸缩性。

APACHE+TOMCAT配置(负载均衡与集群)

APACHE+TOMCAT配置(负载均衡与集群)

Apache安装: 1、安装Apache时注意,填写域名时根据情况来,如果是 本地测试可以用localhost代替域名 2、地址栏输入http://127.0.0.1出现“IT WORKS”界面, 说明你安装成功了
Apache配置 1、配置mod_jk.so:
将mod_jk.so拷贝到拷贝%APACHE_HOME%/models/目录下;
注意:Tomcat connector的版本一定要与Apache的版本是一致的。
目录
概述
安装软件 Aapche+tomcat连接配置 负载均衡配置 集群配置
常见问题
JDK安装: 1、一路回车,安装完毕。 2、环境变量设置如下:
CLASSPATH: C:\Program Files\Java\jdk1.6.0_32\lib\toa\jdk1.6.0_32\lib\dt.jar; C:\Program Files\Java\jdk1.6.0_32\jre\lib\rt.jar; JAVA_HOME: C:\Program Files\Java\jdk1.6.0_32
2、在Tomcat中发布程序
在%Tomcat_HOME%/webapps目录下创建程序目录,例如:su1、 su2等,将程序放入该目录下即可;本次测试使用最简单的index.html 文件; 注意: tomcat下的工程目录要和Apache配置的uriworkermap.properties文 件中配置访问路径一致。
3)uriworkermap.properties文件内容如下: #访问http://192.168.0.222/su1/由tomcat1服务; /su1/* =tomcat1 #访问http://192.168.0.222/su2/由tomcat2服务; /su2/* =tomcat2 #访问http://192.168.0.222由tomcat服务; /* =tomcat 注意:这个“worker.xxxx.port=”配置的是Tomcat的ajp端口,默 认是8009;同一服务器此端口不能相同。

Apache与tomcat的整合及负载均衡(doc 8页)

Apache与tomcat的整合及负载均衡(doc 8页)

理,"controller"为在workers.propertise 里指定的负载分配控制制器JkMount /* lb2添加及设置workers.propertiesvi/usr/local/apache2/conf/workers.propert ies添加以下内容worker.list = lb,tomcat1,tomcat2#server 列表#========tomcat1========worker.tomcat1.port=8009#ajp13 端口号,在tomcat下server.xml配置,默认8009worker.tomcat1.host=10.1.1.2#tomcat的主机地址,如不为本机,请填写ip 地址worker.tomcat1.type=ajp13worker.tomcat1.lbfactor = 1#server的加权比重,值越高,分得的请求越多#========tomcat2========worker.tomcat2.port=8009#ajp13 端口号,在tomcat下server.xml配置,默认8009worker.tomcat2.host=10.1.1.3#tomcat的主机地址,如不为本机,请填写ip地址worker.tomcat2.type=ajp13worker.tomcat2.lbfactor = 1#server的加权比重,值越高,分得的请求越多#========controller,负载均衡控制器========worker.lb.type=lbworker.lb.balanced_workers=tomcat1,tom cat2#指定分担请求的tomcatworker.lb.sticky_session=17、将JSP文件放入/usr/local/tomcat/webapps/ROOT8 启动apache和tomcat8 打开浏览器输入就是这么简单。

window+apache+tomcat的集群整合

window+apache+tomcat的集群整合

ApacheApache是http服务器,我们可以利用它对tomcat进行负载均衡.准备工作:下载Apache==>httpd-2.2.22-win32-x86-no_ssl.msiJk===>mod_jk-1.2.28-httpd-2.2.3.so注意:Apache和jk的版本必须相对应,不然Apache服务都启动不了,Apache版本如果是2.0,那么对应的jk必须是1.2.31的版本(不清楚为什么,本人不信邪试了下1.2.28的版本,结果真的启动不了Apache服务器。

(以上的apache和jk是本人集群成功的版本)如果是学过java的人那么jdk的下载和安装就不讲了,没学过的人在网上下载jkd6.0及以上版本安装并且将环境变量配置好(很简单)Tomcat版本:Tocmat7目前已经出现稳定版本的7.0.12,Tomcat6则为6.0.32。

这两个tomcat集群的结果是一样的,不过本人使用的是6.0.32的绿色版(最好用绿色版)以本人集群的流程为示例:Apache服务器的安装可以在网上找一下示例,想提一下的是把安装路劲改一下,安装的时候选择默认安装,别自定义安装(因为我们是新手)安装到Server Information界面的时候 Network Domian和Server Name这两个输入框是可以随便填入的。

本人两个都是localhost 第三个输入框是电子邮箱,这里必须填,随便填一个吧,只要是有效的就行,本人用的扣扣邮箱.最后选择端口,有默认的两个端口80和8080,如果电脑上安装的IIS的话80端口是会被占用的,不过还是可以选,只不过安装完了后apache服务启动不起来而已(在配置文件里面可以改端口)如果端口没被占用,安装完后电脑右下角有个绿色的小箭头,在地址栏里面输入http://locahost:端口如果页面出现了it’s work就表示安装成功了,如果没有那就重新安装吧,肯定哪里出问题了。

轻松实现Apache,Tomcat集群和负载均衡

轻松实现Apache,Tomcat集群和负载均衡
define subcomponents such as "Valves" at this level. Documentation at /docs/config/server.html --> <Server port="9005" shutdown="SHUTDOWN">
<!--APR library loader. Documentation at /docs/apr.html --> <Listener className="org.apache.catalina.core.AprLifecycleListener"
<!-<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true" clientAuth=&"TLS" /> -->
<!--For clustering, please take a look at documentation at: /docs/cluster-howto.html (simple how to) /docs/config/cluster.html (reference documentation) -->
--> <Connector port="9080" protocol="HTTP/1.1"
connectionTimeout="20000" redirectPort="8443" /> <!-- A "Connector" using the shared thread pool--> <!-<Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> --> <!-- Define a SSL HTTP/1.1 Connector on port 8443 This connector uses the JSSE configuration, when using APR, the connector should be using the OpenSSL style configuration described in the APR documentation -->

windows下apache+tomcat反向代理模式配置负载均衡

windows下apache+tomcat反向代理模式配置负载均衡

1测试环境:Windows XP+SP32测试软件apache_2.2.10-win32-x86-no_ssl.msiapache-tomcat-6.0.20.zip3安装tomcat直接解压到D:\修改conf\server.xml文件<Engine name="Catalina" defaultHost="localhost"jvmRoute="jvm1">在相同路径下拷贝一份,改名为apache-tomcat-6.0.21修改配置文件conf\server.xml<Server port="8006" shutdown="SHUTDOWN"><Connector port="8081" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" /><Connector port="8019" protocol="AJP/1.3" redirectPort="8443" /><Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm2">到此,负载均衡tomcat配置完毕4安装apache安装路径:D:\Program Files\Apache Software Foundation\Apache2.2Apache配置:修改D:\Program Files\Apache Software Foundation\Apache2.2\conf下文件Httpd.conf加载动态库:LoadModule proxy_module modules/mod_proxy.soLoadModule proxy_ajp_module modules/mod_proxy_ajp.soLoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule proxy_connect_module modules/mod_proxy_connect.soLoadModule proxy_ftp_module modules/mod_proxy_ftp.soLoadModule proxy_http_module modules/mod_proxy_http.so去掉注释在文件最后加入负载配置:#<VirtualHost _default_:80># DocumentRoot D:\Program Files\Apache Software Foundation\Apache2.2\htdocs # <Directory D:\Program Files\Apache Software Foundation\Apache2.2\htdocs># Options Indexes FollowSymLinks# </Directory>ServerName server.router:80ProxyRequests OffProxyPass /test balancer://test/ stickysession=JSESSIONID<Proxy balancer://test/>BalancerMember ajp://localhost:8009/test route=jvm1 loadfactor=50 keepalive=OnBalancerMember ajp://localhost:8019/test route=jvm2 loadfactor=50 keepalive=On </Proxy>测试截图:。

windows基于apache的tomcat负载均衡和集群配置详细

windows基于apache的tomcat负载均衡和集群配置详细

基于apache的tomcat负载均衡和集群配置1】下载安装httpd-2.2.15-win32-x86-no_ssl.msi 网页服务器32-bit Windows zip tomcatmod_jk-1.2.30-httpd-2.2.3.so Apache/IIS 用来连接后台Tomcat的模块,支持集群和负载均衡JK 分为两个版本 1,x 和 2.x ,其中 2.x 并不是最新的版本,它是 JK 的另外一个分支,后不知何因没有继续开发,因此2.x 版本已经废弃安装httpd-2.2.15-win32-x86-no_ssl.msi 到指定目录,我安装的是C:\Program Files\Apache2.2,以后这个目录将用Apache_Home代替安装tomcat,我是将两个tomcat进行集群,所以安装两个tomcat,路径分别为:F:\tomcat\tomcat1,F:\tomcat\tomcat2,以后这两个目录将用tomcat1_Home,tomcat2_Home代替2】配置Apache_Home\conf\httpd.conf 在httpd.conf文件的最后一行写入include "C:\ProgramFiles\Apache2.2\conf\mod_jk.conf"3】配置mod_jk.conf文件在Apache_Home\conf下建立mod_jk.conf文件配置内容:#加载mod_jk ModuleLoadModule jk_module modules/mod_jk-1.2.30-httpd-2.2.3.so将下载的 mod_jk-1.2.30-httpd-2.2.3.so 文件放入到Apache_Home\modules下# 配置 mod_jk#加载集群中的workersJkWorkersFile conf/workers.properties#加载workers的请求处理分配文件JkMountFile conf/uriworkermap.properties #指定jk的日志输出文件JkLogFile logs/mod_jk.log#指定日志级别JkLogLevel warn#指定哪些请求交给tomcat处理,"controller"为在 workers.propertise里指定的负载分配控制器名JkMount /* controller下面是mod_jk.conf内容截图:4】配置workers.propertise文件在Apache_Home\conf下建立workers.propertise文件配置内容:#server 列表worker.list=controller,tomcat1,tomcat2#========tomcat1========#ajp13 端口号,在tomcat下server.xml配置,默认8009 worker.tomcat1.port=8009#tomcat的主机地址,如不为本机,请填写ip地址worker.tomcat1.host=localhostworker.tomcat1.type=ajp13#server的加权比重,值越高,分得的请求越多worker.tomcat1.lbfactor=1#========tomcat2========#ajp13 端口号,在tomcat下server.xml配置,默认8009 worker.tomcat2.port=9009#tomcat的主机地址,如不为本机,请填写ip地址worker.tomcat2.host=localhostworker.tomcat2.type=ajp13#server的加权比重,值越高,分得的请求越多worker.tomcat2.lbfactor=1#========controller,负载均衡控制器========#server名为controller,用于负载均衡worker.controller.type=lb#重试次数worker.retries=3#指定分担请求的tomcatworker.controller.balanced_workers=tomcat1,tomcat2#粘性Session(默认是打开的) 当该属性值=True(或1)时,代表Session是粘性的,即同一Session在集群中的同一个节点上处理,Session不跨越节点。

Apache+Tomcat负载均衡及群集配置

Apache+Tomcat负载均衡及群集配置

Apache+Tomcat负载均衡及群集配置1、软件环境Apache 2.2.16mod_jk-1.2.30-httpd-2.2.3.soTomcat 7.0.112、配置(1)Tomcat配置在一台机器上安装2套Tomcat需要修改其中一个的配置,打开conf\server.xml,将下面的内容:<Server port="8005" shutdown="SHUTDOWN"><Connector port="8080" protocol="HTTP/1.1" … /><Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />更改为:<Server port="8105" shutdown="SHUTDOWN"><Connector port="8180" protocol="HTTP/1.1" … /><Connector port="8109" protocol="AJP/1.3" redirectPort="8443" />将Tomcat关于群集的注释去掉,以实现session的复制。

打开2个Tomcat的server.xml文件,将<!--<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>-->更改为:<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> 启动Tomcat,分别访问:http://localhost:8080http://localhost:8180(2)Apache配置将文件mod_jk-1.2.30-httpd-2.2.3.so拷贝到modules目录下。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

轻松实现windows平台Apache,Tomcat集群和负载均衡0,环境说明Apache :apache_2.0.55 1 个Tomcat: apache-tomcat-5.5.17 (zip版) 2个mod_jk:: mod_jk-apache-2.0.55.so 1个第一部分:负载均衡负载均衡,就是apache将客户请求均衡的分给tomcat1,tomcat2....去处理1.安装apche,tomcat/ 下载Apache 2.0.55/download-55.cgi 下载tomcat5.5 zip版本(解压即可,绿色版)/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.15/ 下载mod_jk,注意和apache版本匹配按照jdk,我的路径为:E:\ide\apache\Apache2解压两份Tomcat, 路径分别为E:\ide\tomcat1,E:\ide\tomcat2下载mod_jk2.修改Apache配置文件http.conf在apache安装目录下conf目录中找到http.conf 在文件最后加上下面一句话就可以了include "E:\ide\apache\Apache2\conf\mod_jk.conf"2. http.conf 同目录下新建mod_jk.conf文件,内容如下#加载mod_jk ModuleLoadModule jk_module modules/mod_jk-apache-2.0.55.so#指定workers.properties文件路径JkWorkersFile conf/workers.properties#指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器JkMount /*.jsp controller3.在http.conf同目录下新建workers.properties文件,内容如下worker.list = controller,tomcat1,tomcat2 #server 列表#========tomcat1========worker.tomcat1.port=8009 #ajp13 端口号,在tomcat下server.xml配置,默认8009 worker.tomcat1.host=localhost #tomcat的主机地址,如不为本机,请填写ip地址worker.tomcat1.type=ajp13worker.tomcat1.lbfactor = 1 #server的加权比重,值越高,分得的请求越多#========tomcat2========worker.tomcat2.port=9009 #ajp13 端口号,在tomcat下server.xml配置,默认8009 worker.tomcat2.host=localhost #tomcat的主机地址,如不为本机,请填写ip地址worker.tomcat2.type=ajp13worker.tomcat2.lbfactor = 1 #server的加权比重,值越高,分得的请求越多#========controller,负载均衡控制器========worker.controller.type=lbworker.controller.balanced_workers=tomcat1,tomcat2 #指定分担请求的tomcat worker.controller.sticky_session=14.修改tomcat配置文件server.xml如果你在不同电脑上安装tomcat,tomcat的安装数量为一个,可以不必修改tomcat配置文件我这里是在同一台电脑上安装两个tomcat,所以需要更改其中一个的设置打开tomcat2/conf/server.xml文件5.编写一个测试jsp建立一个目录test.里面新建一个test.jsp,内容为<%System.out.println("===========================");%>把test放到tomcat1,tomcat2的webapps下6.启动apache,tomcat1,tomcat2,进行测试通过http://localhost/test/test.jsp 访问,查看tomcat1的窗口,可以看到打印了一行"=========="再刷新一次,tomcat2也打印了一条,再刷新,可以看到请求会被tomcat1,tomcat2轮流处理,实现了负载均衡第二部分,配置集群只配置负载均衡还不行,还要session复制,也就是说其中任何一个tomcat的添加的session,是要同步复制到其它tomcat,集群内的tomcat都有相同的session1. 修改tomcat1, tomcat2的server.xml,将集群部分配置的在注释符删掉,并将tomcat2的4001端口改为4002,以避免与tomcat冲突,当然,如果是两台电脑,是不用改端口的,去掉注释符即可2,修改测试项目test修改test.jsp,内容如下<%@ page contentType="text/html; charset=GBK" %><%@ page import="java.util.*" %><html><head><title>Cluster App Test</title></head><body>Server Info:<%out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>");%> <%out.println("<br> ID " + session.getId()+"<br>");// 如果有新的Session 属性设置String dataName = request.getParameter("dataName");if (dataName != null && dataName.length() > 0) {String dataValue = request.getParameter("dataValue");session.setAttribute(dataName, dataValue);}out.print("<b>Session 列表</b>");Enumeration e = session.getAttributeNames();while (e.hasMoreElements()) {String name = (String)e.nextElement();String value = session.getAttribute(name).toString();out.println( name + " = " + value+"<br>");System.out.println( name + " = " + value);}%><form action="index.jsp" method="POST">名称:<input type=text size=20 name="dataName"><br>值:<input type=text size=20 name="dataValue"><br><input type=submit></form></body></html>然后在test 新建WEB-INF目录,WEB-INF下新建web.xml,内容如下<web-app xmlns="/xml/ns/j2ee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/j2ee/xml/ns/j2ee/web-app_2_4.xsd" version="2.4"> <display-name>TomcatDemo</display-name><distributable/></web-app>注意:在你的应用的web.xml加入<distributable/>即可ok,讲test复制到tomcat1,tomcat2的webapps下,重启apache,tomcat1,tomcat2,输入网址http://localhost/test/test.jsp新建一个名称为xiaoluo ,值为cdut 的session,提交查询,新开一个ie窗口,再提交查询,如图,可以看到,两个tomcat 是负载均衡,并且session同步的。

相关文档
最新文档