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. zencart 后台目录产品黄色icon_yellow_on.gif 解决方案

    解决方法,导入时候发现 更新成功! - 型号: as NO.1209 就是重复model 文件位置:manager\includes\modules\category_product_listing. ...

  2. 将GridView导入到Excel

    前几天做项目需要用到将GridView中的数据导入到Excel,原以为很简单,上网搜了一下资料,果然方法不少,于是就采用了一个: private void GridViewToExcel() { Re ...

  3. OpenLDAP安装与配置

    系统:ubuntu 14.04 安装: 1. sudo apt-get install slapd ldap-utils 2. 在1的过程中会让你输了admin密码 配置: 如果安装过,只是想配置Op ...

  4. JavaScript高级程序设计:第七章

    函数表达式 1.函数表达式的特征: 定义函数的方式有两种:一种是函数声明,另一种就是函数表达式.函数声明的语法是这样的: function  functionName(arg0,arg1,arg2){ ...

  5. OPENWRT make menuconfig错误之一

    1.make menuconfig rm: cannot remove `tmp/.host.mk': Permission denied 退到trunk上级目录sudo chown -R 777 t ...

  6. Golang:测试map是否存在

    请看这个url:http://www.du52.com/text.php?id=561 if v, ok := m1["a"]; ok { fmt.Println(v) } els ...

  7. restlet上传图片代码

    客户端用的是 jquery file upload, 服务器端用的是restlet package org.soachina.rest.component.resource; import java. ...

  8. postgres-xl 集体搭建(1)

    安装并编辑脚本 cd /opt/curl -O http://files.postgres-xl.org/postgres-xl95r1beta1.tar.gztar -zxvf postgres-x ...

  9. 克隆虚拟机系统整个文件快照,然后另起建立该系统,产生的IP地址冲突解决办法

    进入克隆后的文件系统 cd /etc/sysconfig/network-scripts/ cp ifcfg-eth0  ifcfg-eth1 vim ifcfg-eth1   #修改其中的文件内容 ...

  10. Ansible10:Playbook的角色与包含【转】

    当单个playbook文件越来越大的时候,我们就需要重新来组织Playbooks了.我们可以将一个大的playbook拆成若干个小的playbook文件,然后通过include的方式,在主配置文件中将 ...