在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. 查询score中选学多门课程的同学中分数为非最高分成绩的记录。

    20.查询score中选学多门课程的同学中分数为非最高分成绩的记录. select * from score a where sno in ( select sno from score group ...

  2. 发现个div float的小秘密

    浮动时宽度塌缩了不再是父元素100%.

  3. EL表达式获取数据

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

  4. iOS 通过tag查找控件

    //比如创建一个UIImageView到view上 UIImageView *imageView = [[UIImageView allc] init]; imageView.tag = 10001; ...

  5. iframe滚动条的一些方法

    用iframe布局,会碰到浏览器右边出现2个滚动条,简单代码解决用iframe布局,会碰到浏览器右边出现2个滚动条, 简单代码解决,用下面的代码可以把浏览器本身的滚动条去掉,只留页面产生的滚动条: b ...

  6. js点击button按钮跳转到页面代码

    点击按钮怎么跳转到另外一个页面呢?我们在网站制作中可能是需要的,因为有时我们需要做这样的效果,尤其是将按钮做成一个图片,而点击图片要跳转到新的页面时,怎么做到呢? 这样的效果可以:onclick=&q ...

  7. C# Ajax 手机发送短信验证码 校验验证码 菜鸟级别实现方法

    1.Ajax请求处理页面: using System; using System.Collections.Generic; using System.Linq; using System.Web; u ...

  8. NSString字符操作

    1.常用创建初始化方法 1.NSString *string0 = @"string"; 2.NSString *string1 = [NSString stringWithFor ...

  9. 20150309--gridview

    GridView: 使用代码套用模板,变为DataList的样式,添加<asp:TemplateField>标签,(注意必须加上<Columns>) <asp:GridV ...

  10. ApplicationContext的应用场景

    1.上一节中我们了解了IoC容器建立的基本步骤.理解这些步骤之后,可以很方便地通过编程的方式来手工控制这些配置和容器的建立过程了. 2.但是,在Spring中,系统已经为用户提供了许多已经定义好的容器 ...