1,安装包

httpd-2.2.22-win32-x86-no_ssl.msi
两个tomcat6

2,配置apachehttpd---配置的过程中有错误可以查看logs文件夹下的log文件进行排查。

     1,将httpd-2.2.22-win32-x86-no_ssl.msi进行安装,安装完成后,在服务里面会有一个 apache httpd服务,可以进行启动停止。
     2,配置文件修改
1、Apache----2.2.22版本已经集成了mod_jk功能,故不必配置繁琐的worker.properties文件什么的,配置过程很方便了。
2、利用编辑器打开D:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf文件,找到如下代理块(proxy):
             #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
          
               #ServerName localhost:80
3、去掉这些代理块的注释“#”符号,Apache在启动的过程中将加载上述代理(proxy)。
4、找到#Include conf/extra/httpd-vhosts.conf位置,并去掉“#”符号,结束后关闭httpd.conf文件。
5、利用编辑器打开D:\Program Files\Apache Software Foundation\Apache2.2\conf\extra\httpd-vhosts.conf文件,配置虚拟站点,在文件结束添加
<VirtualHost *:80>
   ServerAdmin xxxx@126.com
   ServerName 192.168.0.102
   ServerAlias localhost
   ProxyPass / balancer://cluster/ stickysession=JSESSIONID nofailover=On
   ProxyPassReverse / balancer://cluster/
   ErrorLog "logs/error.log"
   CustomLog "logs/access.log" common
</VirtualHost>
 
             注:1、balancer://是告诉Apache需要进行负载均衡的代理;
             2、后面的cluster是集群名,可以随意取;
             3、两个日志引擎ErrorLog负责记 录错误,CustomLog负责记录所有的http访问以及返回状态,日志名可以自己取。
6、再次打开conf\httpd.conf,文件结束处添加如下代码: 
ProxyRequests Off
<proxy balancer://cluster>
    BalancerMember ajp://192.168.0.102:8013 loadfactor=1 route=node1
    BalancerMember ajp://192.168.0.100:8009 loadfactor=1 route=node2
</proxy> 
             注:1、ProxyRequests Off 是告诉Apache需要使用反向代理; 
             2、<proxy balancer://cluster>用于配置工作在集群中的节点列表,这里的“cluster”必须与上面的集群名保持一致; 
             3、Apache通过ajp协议与tomcat进行通信,ip地址和端口唯一确定了tomcat节点和配置的ajp接受端口; 注意这里的端口是tomcat配置文件中ajp协议的那个端口。!!!!
             4、loadfactor是负载因 子,Apache会按负载因子的比例向后端tomcat节点转发请求,负载因子越大,对应的tomcat服务器就会处理越多的请求,如两个tomcat都 是1,Apache就按1:1的比例转发,如果是2和1就按2:1的比例转发; 
             5、route参数对应后续tomcat配置中的引擎路径 (jvmRoute)。 
        7、重新启动Apache服务,在浏览器中访问:http:192.168.0.102 ,你会发现得到了一个503的错误,原因是还没有启动Tomcat造成的。

3,配置tomcat

在tomcat的server.xml中修改engine标签如下    <Engine name="Catalina" defaultHost="localhost" jvmRoute="node1">
这里的node1 node2 在两个tomcat中配置的时候和刚才在apache里面设置的要一样才行。
同时在xml中放开      <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/> 配置。
 
 

4,测试

创建一个web项目,一个jsp来测试验证一下。
web.xml中加上一个标签 <distributable /> 通知Tomcat在当前应用集群中的所有节点间实现Session共享。
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>");
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="test.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>

windows配置apache tomcat 集群的更多相关文章

  1. Apache + Tomcat集群配置详解 (1)

    一.软件准备 Apache 2.2 : http://httpd.apache.org/download.cgi,下载msi安装程序,选择no ssl版本 Tomcat 6.0 : http://to ...

  2. (转)Apache+Tomcat集群配置

    本文Apache+Tomcat集群配置 基于最新的Apache和Tomcat,具体是2011年4月20日最新的Tomcat和Apache集群和负载均衡配置. 准备环境 Apache Apache是ht ...

  3. nginx的简单使用和使用nginx在windows上搭建tomcat集群

    nginx是一款轻量级的web服务器,常用的作用为服务器/反向代理服务器以及电子邮件(IMAP/POP3)代理服务器 1.为什么我们要使用Nginx? 反向代理: 反向代理(Reverse Proxy ...

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

    实战Apache+Tomcat集群和负载均衡 目录 1.    什么是J2EE集群... 3 1.1.     序言... 3 1.2.     基本术语... 3 伸缩性(Scalability): ...

  5. Apache+tomcat集群配置

    一.软件准备 Apache 2.2 : http://httpd.apache.org/download.cgi,下载msi安装程序,选择no ssl版本 Tomcat 6.0 : http://to ...

  6. Linux+Apache+Tomcat集群配置

    参考: http://blog.csdn.net/bluishglc/article/details/6867358# http://andashu.blog.51cto.com/8673810/13 ...

  7. ngnix apache tomcat集群负载均衡配置

    http://w.gdu.me/wiki/Java/tomcat_cluster.html 参考: Tomcat与Apache或Nginx的集群负载均衡设置: http://huangrs.blog. ...

  8. apache + tomcat 集群

    apache2.2与tomcat集成(可以多个tomcat) 需求概况: 有3个服务: localhost:9091, localhost:9190. localhost:9191分别对应3个tomc ...

  9. Apache + Tomcat集群 + 负载均衡

    Part I: 取经处: http://www.ramkitech.com/2012/10/tomcat-clustering-series-simple-load.html  http://blog ...

随机推荐

  1. JavaWeb -- Jsp中的 EL表达式

    lEL 全名为Expression Language.EL主要作用: l获取数据: •EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数据.(某个web ...

  2. SSIS的控制流之For循环容器

    SSIS包由一个控制流以及一个或多个数据流(可选)组成.下面的关系图显示具有一个容器和六项任务的控制流. 这些任务中有五项定义于包级别,还有一项定义于容器级别.任务位于容器内.在控制流中的工具箱.我们 ...

  3. jq中append()、prepend()、after()、before()的区别详解

    1.append() - 在被选元素的结尾插入内容(内容的结尾,比如说有个a标签,则是在</a>这个标签之前添加东西) 2.prepend() - 在被选元素的开头插入内容(内容的开始,比 ...

  4. poj2778 ac自动机+矩阵快速幂

    给m个子串,求长度为n的不包含子串的母串数,最直接的应该是暴搜,肯定tle,考虑用ac自动机 将子串建成字典树,通过next表来构造矩阵,然后用矩阵快速幂求长度为n的数量 邻接矩阵https://we ...

  5. count(*) 和count(1) 有区别吗

    create table test1 (a varchar2(2),b varchar2(2)); insert into test1 values ('b','c'); insert into te ...

  6. HANA IMPORT AND EXPORT

    权限管控的过于严格,所以找机会写个导入导出的流程.从测试机传输到生产机 1 选中EXPORT , 导出将要传输的模型 也可以 在QUICK VIEW 里选中导入导出.个人爱好 2 选择传输的两种模式 ...

  7. C++结构体成员列表初始化

    C++关于struct和class的区别,可以看上一篇文章:c ++ class和struct[转] 结构体成员列表初始化,来个例子: #include <iostream> #inclu ...

  8. Chrome MarkDown Preview Plus

    /************************************************************************** * Chrome MarkDown Previe ...

  9. 快速构建一个 Springboot

    快速构建一个 Springboot 官网:http://projects.spring.io/spring-boot/ Spring Boot可以轻松创建可以“运行”的独立的,生产级的基于Spring ...

  10. burpsuite使用以及repeater模块实现重放攻击

    第一.burp suit是什么? Burp Suite 包含了一系列burp 工具,这些工具之间有大量接口可以互相通信,之所以这样设计的目的是为了促进和提高 整个攻击的效率.平台中所有工具共享同一ro ...