1.安装httpd-2.2.25-win32-x86-no_ssl.msi

按默认安装路径,我电脑如果自定义的话安装不了

2.下载mod_jk-apache-2.2.2.so

3.下载tomcat 我用的是apache-tomcat-7.0.56

4.首先设置各个tomcat的端口如果在同一台电脑上需保证端口号的唯一

打开server.xml文件修改里面的属性

<Server port="9015" shutdown="SHUTDOWN">这个端口要唯一

<Connector port="9080"  protocol="HTTP/1.1" URIEncoding="UTF-8"/> 这个可以注释掉,不需要暴露tomcat出去了,apache是通过ajp协议通信的

<Connector port="9009" protocol="AJP/1.3" redirectPort="8443" />这个端口要唯一

<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">设置名称tomcat1

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster">添加这个

打开各个tomcat保证各个tomcat能够正常启动

5.现在这一步稍微复杂一点,做配置文件

6.首先把mod_jk-apache-2.2.2.so文件复制到apache安装路径下的modules文件夹下

7.然后在conf文件夹下打开httpd.conf文件在文件最后添加

#指定模块路径
LoadModule jk_module modules/mod_jk.so
#指定mod_jk的workers定义
Include "C:\Program Files\Apache Software Foundation\Apache2.2\conf\mod_jk.conf"

8.然后新建mod_jk.conf文件,此文件再conf下新增。

JkWorkersFile conf/workers.properties
JkMount /*.jsp controller
JkMount /*.do controller

9.然后新建workers.properties文件,此文件再conf下新增

#server
#控制器名称
worker.list=controller
#==========tomcat1===========
#ajp协议的端口,如果2个tomcat部署在同一个服务器中,那个ajp端口需要不同
worker.tomcat1.port=9009
#tomcat的所在主机的ip,如果是本机,则写本机的ip即可
worker.tomcat1.host=172.16.80.107
#协议类型
worker.tomcat1.type=ajp13
#负载因子
#如果2个tomcat,该参数相同,表示等比例,如果想tomcat负载多一点,只要把这个参数改的大一点即可,具体多少还是得看情况
worker.tomcat1.lbfactor=1 #==========tomcat2===========
worker.tomcat2.port=8809
worker.tomcat2.host=172.16.80.107
worker.tomcat2.type=ajp13
worker.tomcat2.lbfactor=1 #===================controller,负载均衡控制器=========
worker.controller.type=lb
#请求失败以后重试次数
worker.controller.retries=3
#controller控制的tomcat的名称,分别为tomcat1和tomcat2,由tomcat中的server.xml中设值
worker.controller.balance_workers=tomcat1,tomcat2
#回话是否有粘性,false表示无粘性,同一个回话的请求会到不同的tomcat中处理
worker.controller.sticky_session=false
#当一个节点蹦了,如果设值为true,那么服务器返回500错误给客户端,如果设值为false,则转发给其他的#tomcat,但是会丢失回话信息
worker.controller.sticky_session_force=false
#worker.controller.max_reply_timeouts=10

10. 新建一个web项目test,项目中 web.xml中必须添加<distributable/>属性

新建一个jsp页面test2.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.println("<b>Session 列表</b><br>");
System.out.println("============================");
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="test2.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>

然后部署项目

最后启动apache在启动tomcat,然后访问项目

http://localhost/test/test2.jsp

显示

Server Info: localhost : 80

ID 70B5A490CDCA86E0A1D75019F03B8AFD.tomcat2
Session 列表
1 = 1

名称:

值:

apache2.2.25+mod_jk-apache-2.2.2.so+apache-tomcat-7.0.56集群的更多相关文章

  1. apache2.2.25+tomcat7.0.47集群方案

    因为公司项目在线人数的增加,随着现在硬件成本越来越低,大多数的生产环境内存大多都已经达到 16G,尤其最新的阿里云,客户的机器都是配置超高的java主机,但是Java的运行环境,内存使用有限 ,这样就 ...

  2. 基于Apache的Tomcat负载均衡和集群(2)

    反向代理负载均衡 (Apache+JK+Tomcat) 使用代理服务器可以将请求转发给内部的Web服务器,让代理服务器将请求均匀地转发给多台内部Web服务器之一上,从而达到负载均衡的目的.这种代理方式 ...

  3. Linux下Apache与Tomcat的完全分布式集群配置(负载均衡)

    最近公司要给客户提供一套集群方案,项目组采用了Apache和Tomcat的集群配置,用于实现负载均衡的实现. 由于以前没有接触过Apache,因此有些手生,另外在网上搜寻了很多有关这方面的集群文章,但 ...

  4. linux下一个apache+tomcat负载均衡和集群

    先说一下我的环境 一个ubuntu虚拟机, 一个apache2.2示例 两tomcat1.7示例 1.安装apacheserver sudo apt-get install apache2 假设要重新 ...

  5. Apache、Tomcat负载均衡与集群

    一. 环境准备 1.软件下载 a) apache_2.0.55-win32-x86-no_ssl.msi: b) apache-tomcat-5.5.17.rar c) mod_jk-apache-2 ...

  6. apache + tomcat 负载均衡分布式集群配置

    Tomcat集群配置学习篇-----分布式应用 现目前基于javaWeb开发的应用系统已经比比皆是,尤其是电子商务网站,要想网站发展壮大,那么必然就得能够承受住庞大的网站访问量:大家知道如果服务器访问 ...

  7. Apache tomcat高可用web集群搭建过程配置记录

    说明,本文仅作为个人搭建配置保存,问题处理没有一一列出,过程也未见详尽,有问题的朋友可以直接留言给我,会一一回复,谢谢. 小目标: 支持故障转移(或主备,扩展性不佳),保证故障转移后,对前端用户透明, ...

  8. 使用apache和nginx代理实现tomcat负载均衡及集群配置详解

    实验环境: 1.nginx的代理功能 nginx proxy: eth0: 192.168.8.48 vmnet2 eth1: 192.168.10.10 tomcat server1: vmnet2 ...

  9. Apache+tomcat配置动静分离(一个apache一个tomcat,没有做集群)

    1. 下载apache http server,tomcat,mok_jk.so apache下载地址:http://httpd.apache.org/download.cgi tomcat下载地址: ...

随机推荐

  1. Linux - CentOS6.5服务器搭建与初始化配置详解(下)

    传送带:Linux - CentOS6.5服务器搭建与初始化配置详解(上) 继续接着上面的安装,安装完后会出现下面界面 点击reboot重启 重启后可以看到下面的tty终端界面  因为这就是最小化安装 ...

  2. 自定义控件之--继承控件(圆形TextView)

    师从郭大,自学于心,继承控件无疑就是继承自现有控件,保持继承的控件的属性并进行必要的扩展.   比如下面这个自定义控件,它就保持了TextView的属性,并对TextView的外观进行必要的修改该来适 ...

  3. 《剑指Offer》算法题——二维数组查找

    题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. class Solutio ...

  4. OpenCV成长之路:图像滤波

    http://ronny.blog.51cto.com/8801997/1394138 OpenCV成长之路:图像滤波 2014-04-11 14:28:44 标签:opencv 边缘检测 sobel ...

  5. IoC容器Autofac正篇之依赖注入(七)

    依赖注入,这个专业词我们可以分为两个部分来理解: 依赖,也就是UML中描述事物之间关系的依赖关系,依赖关系描述了事物A在某些情况下会使用到事物B,事物B的变化会影响到事物A: 注入,医生通过针头将药物 ...

  6. HDU2206:IP的计算

    Problem Description 在网络课程上,我学到了很多有关IP的知识.IP全称叫网际协议,有时我们又用IP来指代我们的IP网络地址,现在IPV4下用一个32位无符号整数来表示,一般用点分方 ...

  7. 在windows命令行窗口下执行:查看所有的端口占用情况

    开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID 之后在任务管理器中找到这个PID所对应的程序如果任务管理器中没有PID这一项,可以在任务管理器中选&qu ...

  8. shell之路【第三篇】流程控制

    if语句 if ... fi 语句: if ... else ... fi 语句: if ... elif ... else ... fi 语句. 注意: expression 和方括号([ ])之间 ...

  9. 远程连接(ssh安装)

    更新源列表打开"终端窗口",输入"sudo apt-get update"-->回车-->"输入当前登录用户的管理员密码"--& ...

  10. Q_DISABLE_COPY

    QObject 中没有提供一个拷贝构造函数和赋值操作符给外界使用,其实拷贝构造和赋值的操作都是已经声明了的,但是它们被使用了Q_DISABLE_COPY() 宏放在了private区域.因此所有继承自 ...