- 浏览: 333756 次
- 性别:
- 来自: 长沙
文章分类
最新评论
-
努力吧飞翔:
...
[ExtJS] MVC应用架构示例 -
coolnight:
[Maven]Nexus 安装与配置 -
Kevin_jiang2011:
官网的文档写的不好。 简单的执行命令,又要重新下载一个ecli ...
jBPM5 入门 -
litterdeer:
好东西....
[ExtJS] MVC应用架构示例 -
basherone:
可以用,谢谢了
[ExtJS] MVC应用架构示例
Apache + Tomcat 负载均衡与集群配置
-------------------------------------
1. 准备
下载 Apache Http Server
http://labs.renren.com/apache-mirror//httpd/binaries/win32/httpd-2.2.19-win32-x86-no_ssl.msi
下载 Tomcat
http://apache.etoak.com/tomcat/tomcat-6/v6.0.32/bin/apache-tomcat-6.0.32-windows-x86.zip
2. 安装 Apache Http Server
安装完成后, 配置 conf/httpd.conf
2.1 配置HTTP端口:
2.2 配置负载均衡, 去掉注释符#:
2.3 配置虚拟主机, 去掉注释符#:
Include conf/extra/httpd-vhosts.conf
2.3 配置首页
2.4 配置负载均衡, 在最后面加上:
2.5 配置 conf/extra/httpd-vhosts.conf
2.5.1 注释所有虚拟主机节点:
2.5.2 添加虚拟主机, 注意格式:
3. 安装 Tomcat
解压后, 将目录取名 tomcat1, 再复制一份取名tomcat2.
3.1 配置tomcat1:
配置 tomcat1/conf/server.xml
3.1.1 配置负载均衡路由, 增加 jvmRoute="tomcat1" :
3.1.2 配置集群, 去掉集群节点的注释符
3.1.3 配置端口, 去掉注释符:
3.2 配置tomcat2:
配置 tomcat2/conf/server.xml
3.2.1 配置负载均衡路由, 增加 jvmRoute="tomcat2" :
3.2.2 配置集群, 去掉集群节点的注释符, 修改Cluster|Receiver|tcpListenPort为4002.
3.2.3 修改相关端口,避免与tomcat1 端口冲突:
4. ADSL 用户, 断开ADSL连接
5. 部署测试应用 到 tomcat1, tomcat2 webapps目录:
5.1 test.jsp
5.2 配置应用 WEB-INF/web.xml, 增加<distributable />
web.xml
6. 测试
3.1 启动tomcat1, tomcat2, 然后启动apache.
6.2 打开测试页面:
http://localhost/cluster/test.jsp
6.3
输入aa aa 提交
输入bb bb 提交
输入cc cc 提交
输入dd dd 提交
输入ee ee 提交
输入ff ff 提交
结果:
可以看到, 请求分别轮流由tomcat1, tomcat2处理, 负载均衡成功,同时session 进行了复制,说明集群配置成功.
-------------------------------------
1. 准备
下载 Apache Http Server
http://labs.renren.com/apache-mirror//httpd/binaries/win32/httpd-2.2.19-win32-x86-no_ssl.msi
下载 Tomcat
http://apache.etoak.com/tomcat/tomcat-6/v6.0.32/bin/apache-tomcat-6.0.32-windows-x86.zip
2. 安装 Apache Http Server
安装完成后, 配置 conf/httpd.conf
2.1 配置HTTP端口:
Listen 80
2.2 配置负载均衡, 去掉注释符#:
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so LoadModule proxy_balancer_module modules/mod_proxy_balancer.so LoadModule proxy_connect_module modules/mod_proxy_connect.so LoadModule proxy_ftp_module modules/mod_proxy_ftp.so LoadModule proxy_http_module modules/mod_proxy_http.so LoadModule proxy_scgi_module modules/mod_proxy_scgi.so
2.3 配置虚拟主机, 去掉注释符#:
Include conf/extra/httpd-vhosts.conf
2.3 配置首页
<IfModule dir_module> DirectoryIndex index.htm index.html index.jsp </IfModule>
2.4 配置负载均衡, 在最后面加上:
ProxyRequests Off <proxy balancer://cluster> BalancerMember ajp://127.0.0.1:8009 loadfactor=1 route=tomcat1 BalancerMember ajp://127.0.0.1:9009 loadfactor=1 route=tomcat2 ProxySet lbmethod=byrequests timeout=15 </proxy>
2.5 配置 conf/extra/httpd-vhosts.conf
2.5.1 注释所有虚拟主机节点:
2.5.2 添加虚拟主机, 注意格式:
<VirtualHost *:80> ServerAdmin amos_tl@126.com ServerName localhost ServerAlias localhost ProxyPass / balancer://cluster/ stickysession=JSESSIONID|jsessionid nofailover=Off ProxyPassReverse / balancer://cluster/ </VirtualHost>
3. 安装 Tomcat
解压后, 将目录取名 tomcat1, 再复制一份取名tomcat2.
3.1 配置tomcat1:
配置 tomcat1/conf/server.xml
3.1.1 配置负载均衡路由, 增加 jvmRoute="tomcat1" :
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">
3.1.2 配置集群, 去掉集群节点的注释符
3.1.3 配置端口, 去掉注释符:
<!-- See proxy documentation for more information about using this. --> <Connector port="8082" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" acceptCount="100" connectionTimeout="20000" proxyPort="80" disableUploadTimeout="true" />
3.2 配置tomcat2:
配置 tomcat2/conf/server.xml
3.2.1 配置负载均衡路由, 增加 jvmRoute="tomcat2" :
<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2">
3.2.2 配置集群, 去掉集群节点的注释符, 修改Cluster|Receiver|tcpListenPort为4002.
<Receiver className="org.apache.catalina.cluster.tcp.ReplicationListener" tcpListenAddress="auto" tcpListenPort="4002" tcpSelectorTimeout="100" tcpThreadCount="6"/>
3.2.3 修改相关端口,避免与tomcat1 端口冲突:
<Server port="9005" shutdown="SHUTDOWN"> <!-- Define a non-SSL HTTP/1.1 Connector on port 8080 --> <Connector port="9080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" /> <!-- Define an AJP 1.3 Connector on port 8009 --> <Connector port="9009" enableLookups="false" redirectPort="9443" protocol="AJP/1.3" /> <!-- Define a Proxied HTTP/1.1 Connector on port 8082 --> <!-- See proxy documentation for more information about using this. --> <Connector port="9082" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" acceptCount="100" connectionTimeout="20000" proxyPort="80" disableUploadTimeout="true" />
4. ADSL 用户, 断开ADSL连接
5. 部署测试应用 到 tomcat1, tomcat2 webapps目录:
5.1 test.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.util.Enumeration, java.util.Date" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>负载均衡</title> </head> <body> Server Info: <% out.println(request.getLocalAddr() + " : " + request.getLocalPort()+"<br>"); %> <% out.println("<br> ID " + session.getId()+"<br>"); 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><br />"); 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="test.jsp" method="POST"> 名称:<input type=text size=20 name="dataName"> <br /> 值:<input type=text size=20 name="dataValue"> <br /> <input type=submit> </form> <% System.out.println(new Date()); %> </body> </html>
5.2 配置应用 WEB-INF/web.xml, 增加<distributable />
web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>cluster</display-name> <distributable /> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> </web-app>
6. 测试
3.1 启动tomcat1, tomcat2, 然后启动apache.
6.2 打开测试页面:
http://localhost/cluster/test.jsp
6.3
输入aa aa 提交
输入bb bb 提交
输入cc cc 提交
输入dd dd 提交
输入ee ee 提交
输入ff ff 提交
结果:
可以看到, 请求分别轮流由tomcat1, tomcat2处理, 负载均衡成功,同时session 进行了复制,说明集群配置成功.
发表评论
-
[JMX] jconsole client
2014-12-19 03:26 920jconsole client --------------- ... -
Apache ActiveMQ 入门
2014-11-22 17:53 0Apache ActiveMQ -------------- ... -
tomcat 编译
2014-08-30 15:31 8881. 下载源码 http://svn.apache.org/ ... -
MINA
2014-06-19 12:58 1003MINA(Multipurpose Infrastructur ... -
[Activiti] Activiti in action
2014-01-01 12:19 1006Activiti in action ------------ ... -
elasticsearch 入门
2013-09-10 14:59 0elasticsearch -- 1 安装 1.1 ... -
文本搜索工具
2013-07-18 16:12 917文本搜索工具 本工具可用于搜索文本内容,并增强了JAR文件内 ... -
[Maven]Nexus 安装与配置
2012-06-02 08:00 77561 下载Nexus http://www.sonatype.o ... -
Quartz CronExpression
2011-10-23 19:39 1378CronExpression ================ ... -
Quartz
2011-10-22 19:21 2724Quartz ========= 1 官网: http:// ... -
将数字转换成中文字符串
2011-10-22 17:08 1649将数字转换成中文字符串 ----------------- ... -
Jakarta ORO
2011-10-09 07:44 2006Jakarta-ORO 是一个Java工具包用来在 Java ... -
DTD 教程
2011-10-01 18:31 1201DTD 教程 -------------- 文 ... -
JAD 的使用
2011-09-08 11:24 1042JAD 的使用 ================ 1. 安装 ... -
FreeMarker 入门
2011-09-04 20:08 1176FreeMarker 入门 ================= ... -
Struts2 启动过程
2011-09-03 00:04 1084Struts2 启动过程: 2 与 3 的顺序应该颠倒 ... -
JAVA 泛型
2011-08-31 08:20 1258JAVA 泛型 ----------- 下面代码解释: 类泛型 ... -
ANT build.dtd
2011-08-30 14:39 1207ANT build.dtd Eclipse 配置自动提示: ... -
Log4j 日志框架入门
2011-08-28 19:43 21401 讨论组: log4j-user@jakarta.apach ... -
Schema Export
2011-08-25 18:26 1038build.xml <?xml version ...
相关推荐
Apache+Tomcat负载均衡与集群配置详解 网上很多资料,但是很多不完整,或者仅有负载均衡或者只有集群,本文是建立实践通过的基础上
Mod_Proxy+Apache+Tomcat负载均衡与集群配置,比较详细的配置资料。
Apache&tomcat负载均衡集群配置详细介绍
内附完整配置教程和修改后的apache的httpd.conf文件和tomcat的server.xml配置文件,包含test测试项目,不包含apache和tomcat安装文件。 本教程参考网上资料,本机测试成功,如有问题可以私信说明。
jk+apce+tomcat 整合 实现tomcat负载均衡 tomcat集群。让tomcat处理.jsp动态页面,apache处理静态页面。平且实现在一个IP下提供多个站点服务。 里面包括怎样配置apache虚拟机文件 怎样配置tomcat的虚拟机文件 花了我...
Apache+Tomcat+Linux集群和均衡负载(Session同步复制
Apache+Tomcat集群的负载均衡配置文件和测试文件
3、Nginx+Tomcat负载均衡配置 首先创建两个文件,这两个文件 我来提供,将这两个文件拷入Nginx的conf文件夹下 1.proxy.conf 文件内容 #负责代理转发 proxy_redirect off; proxy_set_header Host $host; proxy_set_...
tomcat+apache+jk集群和负载均衡
tomcat+apache+linux负载均衡集群配置反向代理
配置apache+tomcat负载均衡和session复制,并且解决了tomcat报2009-6-5 10:10:12 org.apache.jk.common.ChannelSocket processConnection 警告: processCallbacks status 2 的问题
负载均衡,就是apache将客户请求均衡的分给tomcat1,tomcat2....去处理,Tomcat中的集群使一组局域网上的Tomcat实例在用户看起来是单一的服务器,是实现系统资源高利用率的有效解决方案。
apache+tomcat集群负载平衡的配置详细讲解
本人是UBUNTU 的操作系统,但是全部是用源码安装的,可能有些细节不一样,但总体应该没问题, 我两台虚拟机上,成功共享session ...apache+tomcat+memcached 集群 session 共享会话,apache负载均衡
基于mod_proxy+Apache_2.2.16+Tomcat_7的负载均衡与集群配置
Tomcat和Apache集群和负载均衡配置
Apache、mod_jk、Tomcat、负载均衡、配置
Apache+Tomcat集群,本文Apache+Tomcat集群配置 基于最新的Apache和Tomcat,具体是2011年4月20日最新的Tomcat和Apache集群和负载均衡配置。
将以下Module的注释去掉,这里并没有使用mod_jk.so进行apache和tomcat的链接,从2.X以后apache自身已集成了mod_jk.so的功能。只需简单的把下面几行去掉注释,就相当于以前用mod_jk.so比较繁琐的配置了。这里主要采用...
NULL 博文链接:https://newleague.iteye.com/blog/705306