在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

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

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

workers.properties

  1. #
  2. # workers.properties
  3. #
  4.  
  5. # list the workers by name
  6. worker.list=controller
  7. worker.controller.type=lb
  8. worker.controller.sticky_session=1
  9. worker.controller.error_escalation_time=0
  10. worker.controller.max_reply_timeouts=10
  11.  
  12. # localhost server 1
  13. # ------------------------
  14. worker.jvm1.reference=worker.template
  15. worker.jvm1.port=8019 #对应tomcat ajp 端口
  16. worker.jvm1.host=localhost
  17. worker.jvm1.lbfactor = 1 #权重
  18. worker.jvm1.activation=A
  19.  
  20. # localhost server 2
  21. # ------------------------
  22. worker.jvm2.reference=worker.template
  23. worker.jvm2.port=8029
  24. worker.jvm2.host=localhost
  25. worker.jvm2.lbfactor = 1
  26. worker.jvm2.activation=A
  27.  
  28. worker.template.type=ajp13
  29. worker.template.socket_connect_timeout=5000
  30. worker.template.socket_keepalive=true
  31. worker.template.ping_mode=A
  32. worker.template.ping_timeout=10000
  33. worker.template.connection_pool_minsize=0
  34. worker.template.connection_pool_timeout=600
  35. worker.template.reply_timeout=300000
  36. worker.template.recovery_options=3
  37.  
  38. worker.controller.balance_workers=jvm1, jvm2
  39. #对应两个tomcat jvmRoute

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

  1. Include conf.d/mod_jk.conf

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

2.配置tomcat

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

  1. ...
  2. <Server port="8015" shutdown="SHUTDOWN">
  3. ...
  4. <Connector port="8091" protocol="HTTP/1.1"
  5. connectionTimeout="20000"
  6. redirectPort="8443" />
  7. ....
  8. <Connector port="8019" protocol="AJP/1.3" redirectPort="8443" />
  9. ...
  10. <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
  11. ...
  12. <!---->
  13. <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
  14. ...

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

  1. ...
  2. <Server port="8025" shutdown="SHUTDOWN">
  3. ...
  4. <Connector port="8092" protocol="HTTP/1.1"
  5. connectionTimeout="20000"
  6. redirectPort="8443" />
  7. ....
  8. <Connector port="8029" protocol="AJP/1.3" redirectPort="8443" />
  9. ...
  10. <Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm2">
  11. ...
  12. <!---->
  13. <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
  14. ...

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

  1. ...
  2. <distributable/>
  3.  
  4. </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. symbol(s) not found for architecture x86_64

    项目报错如下: ld: warning: ignoring file /xxxx/xxxx/ZBarSDK/libzbar.a ld: symbol(s) not found for architec ...

  2. Oracle数据库作业-1

    设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表 ...

  3. sql获取exec('')的返回值

    ) ) select @sql=('select @a=cNumber+1 from VoucherHistory where CardNumber='''+@CardNumber+'''') exe ...

  4. Android studio 安装和使用

    之前一直是使用eclipse+ADT+SDK进行Android的开发的,不愿意转到Android studio是因为熟悉了eclipse的开发环境,最近偶然使用了android studio,感觉比使 ...

  5. jQuery无缝循环开源多元素动画轮播jquery.slides插件

    详细内容请点击 初始化插件: 一款基于jQuery无缝轮播图插件,支持图内元素动画,可以自定义动画类型$(".slideInner").slide({slideContainer: ...

  6. aspcms中if判断语句的运用

    1.<h3 {if:"[list:isrecommend]"="1"} style="color:red;"{end if}>& ...

  7. C# 序列化xml

    把一个类序列化成xml,显示在txtarea,然后在获取txtarea的值进行反序列化成类,因为一个字段的值是url形式的,url里面有这个符号:&,所以反序列化的时候报错了,查了好久才发现是 ...

  8. 计算日期时间 自动加1天 PHP计算闰年 java与PHP时间戳对比区别

    昨天写一个同步数据库的模块  从一个数据库同步到另外一个数据库,因为数据较多,不可能一次性全部搬迁过去,所以就按照每天搬迁! 写了一个 模块,点击加1,只要点击一次,自动从A数据库取出1天的数据, 并 ...

  9. ASP.NET C# 文件下载

    1.文件下载到客户端 //WriteFile实现下载 protected void Download_Click(object sender, EventArgs e) { string fileNa ...

  10. ARM寄存器的8种寻址方式01

    一.立即数寻址 操作数由指令本身给出 MOV r0,#0x0F //是所有寻址方式里面速度最快的,但是受到合法立即数的限制 立即数要求以#和$开头 十六进制,#后跟0x:十进制,#后直接加:八进制,# ...