在Win7中使用apache为tomcat做负载均衡,各组件及版本如下:

两个tomcat v 7.0.57

一个apache v 2.2.14

一个mod_jk v 1.2.33(for windows i386 httpd 2.2.x),下载地址:http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/tomcat-connectors-1.2.33-windows-i386-httpd-2.2.x.zip

配置方法:

1.安装apache(略)

 在安装目录(conf所在目录)再增加一个文件夹:conf.d, 在此文件夹下面,编辑如下文件:

 mod_jk.conf

# Load mod_jk module
LoadModule jk_module modules/mod_jk.so
# Where to find workers.properties
JkWorkersFile conf.d/workers.properties
# Where to put jk logs
JkLogFile logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "
# JkOptions indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"
# Send servlet for context /examples to worker named ajp13
#JkMount /servlet/* controller
# Send JSPs for context /examples to worker named ajp13
JkMount /* controller

这个配置JKMoun /* controller表示将apache的所有请求都转向tomcat。再编辑一个文件如下:

workers.properties

#
# workers.properties
# # list the workers by name
worker.list=controller
worker.controller.type=lb
worker.controller.sticky_session=1
worker.controller.error_escalation_time=0
worker.controller.max_reply_timeouts=10 # localhost server 1
# ------------------------
worker.jvm1.reference=worker.template
worker.jvm1.port=8019 #对应tomcat ajp 端口
worker.jvm1.host=localhost
worker.jvm1.lbfactor = 1 #权重
worker.jvm1.activation=A # localhost server 2
# ------------------------
worker.jvm2.reference=worker.template
worker.jvm2.port=8029
worker.jvm2.host=localhost
worker.jvm2.lbfactor = 1
worker.jvm2.activation=A worker.template.type=ajp13
worker.template.socket_connect_timeout=5000
worker.template.socket_keepalive=true
worker.template.ping_mode=A
worker.template.ping_timeout=10000
worker.template.connection_pool_minsize=0
worker.template.connection_pool_timeout=600
worker.template.reply_timeout=300000
worker.template.recovery_options=3 worker.controller.balance_workers=jvm1, jvm2
#对应两个tomcat jvmRoute

然后,编辑conf/httpd.conf,在最后加入如下一行:

Include conf.d/mod_jk.conf

将上面下载的mod_jk.so,复制到apache的安装目录modules下面。

2.配置tomcat

  修改第一个tomcat的server.xml,如下所示:

...
<Server port="8015" shutdown="SHUTDOWN">
...
<Connector port="8091" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
....
<Connector port="8019" protocol="AJP/1.3" redirectPort="8443" />
...
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
...
<!---->
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
...

  同理修改第二个tomcat的配置:

...
<Server port="8025" shutdown="SHUTDOWN">
...
<Connector port="8092" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
....
<Connector port="8029" protocol="AJP/1.3" redirectPort="8443" />
...
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm2">
...
<!---->
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
...

最后两个tomcat的web.xml,都加入一行<distributable/>到如下位置:

...
<distributable/> </web-app>

启动apache,和两个tomcat,即可按apache的监听端口进行访问,tomcat的监听端口忽略不用,如:

http://localhost 或 http://127.0.0.1

tomcat 7 用mod_jk做 负载均衡的更多相关文章

  1. Nginx+Tomcat在Windows下做负载均衡

    一. 为什么需要对Tomcat服务器做负载均衡 Tomcat服务器作为一个Web服务器,其并发数在300-500之间,如果有超过500的并发数便会出现Tomcat不能响应新的请求的情况,严重影响网站的 ...

  2. Apache+Tomcat+mod_jk实现负载均衡

    最近公司提出了负载均衡的新需求,以减轻网站的高峰期的服务器负担.趁空闲时间我就准备了一下这方面的知识,都说有备无患嘛.网上相关资料很多,但是太散.我希望可以通过这篇随笔,系统的总结. 一.Tomcat ...

  3. tomcat结合nginx或apache做负载均衡及session绑定

    1.tomcat结合nginx做负载均衡,session绑定 nginx:192.168.223.136   tomcat:192.168.223.146:8081,192.168.223.146:8 ...

  4. Nginx+tomcat 做负载均衡

    架构描述 前端一台nginx服务器做负载均衡器,后端放N台tomcat组成集群处理服务,通过nginx转发到后面(注:没做动静分离,静态动态全部都转给tomcat) 优点:实现了可弹性化的架构,在压力 ...

  5. nginx做负载均衡和tomcat简单集群

    Nginx做负载均衡和TOMCAT简单集群                1.下载安装nginx及其依赖包                                               ...

  6. [Linux]nginx tomcat做负载均衡

    之前使用nginx做过web反向代理,没有做过负载均衡,今天有个同学须要做tomcat的负载均衡,我也研究下. 一共是2个机器,一个物理机(win7)上面部署2个tomcat,使用不同的port启动. ...

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

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

  8. Tomcat服务器集群与负载均衡实现

    一.前言 在单一的服务器上执行WEB应用程序有一些重大的问题,当网站成功建成并开始接受大量请求时,单一服务器终究无法满足需要处理的负荷量,所以就有点显得有 点力不从心了.另外一个常见的问题是会产生单点 ...

  9. nginx和tomcat实现反向代理、负载均衡和session共享

    这类的文章很多,nginx和tomcat实现反向代理.负载均衡实现很容易,可以参照http://blog.csdn.net/liuzhigang1237/article/details/8880752 ...

随机推荐

  1. 实现toolbar透明的背景效果

    //MyToolbar.h 头文件 @interface MyToolbar : UIToolbar @end //MyToolbar.m 实现文件 #import "MyToolbar.h ...

  2. NodeJS学习之网络操作

    NodeJS -- 网络操作 使用NodeJS内置的http模块简单实现HTTP服务器 var http = require('http'); http.createServer(function(r ...

  3. Table of Contents - MyBatis

    Getting Started with MyBatis Hello World Integration with Spring Bootstrapping MyBatis Configuring M ...

  4. Jfinal----Handler之责任链设计模式

    Jfinal handler的处理采用了责任链设计模式 有关责任链模式,推荐看: <JAVA与模式>之责任链模式 1.实现Handler只需要继承Handler public class ...

  5. asp.net获取select值的方法

    如何使用asp.net获取select值?搜索中发现一个不错的例子,在此与大家分享. 代码: <select runat="server" class="xgxxb ...

  6. MVC 增删改查

    MVC内部的增删改查语句都是用Lambda表达式写成的,因此要想使用MVC内部的增删改查就要学会写Lambda表达式. 这里拿表Train来仅作研究: //声明一个表Train的上下文对象 AirSy ...

  7. DWZ(JUI) 教程 普通表单提交

    一类是普通的表单提交,另一类就是列表页面的表单提交,主要是用来查询搜索列表使用的.今天我就简单介绍一下前者. 这是官网上的普通列表页面, <div class="pageContent ...

  8. 简单bat语法

    一.简单批处理内部命令简介 1.Echo 命令 打开回显或关闭请求回显功能,或显示消息.如果没有任何参数,echo 命令将显示当前回显设置. 语法 echo [{on off}] [message] ...

  9. CTG

     服务端:一.修改IP地址AIX上CICS REGION的目录/var/cics_regions/your_region_name/database/LD二.修改文件LD.stanza中的IP地址三. ...

  10. GVIM:在WINDOWS下清爽写代码

    上大学后,你是不是也开始学习C语言了?特别是计算机学院的孩子,应当有更高的追求.C语言开课一段时间了,你是不是开始嫌弃IDE恶心的界面了?是不是跟我一样,嫌弃IDE打开速度太慢?VS2010需要12秒 ...