- 浏览: 716379 次
文章分类
最新评论
-
白天看黑夜:
Apache Mina Server 2.0 中文参考手册(带 ...
基于Mina的Http Server以及简单的Http请求客户端 -
Baple:
...
Maven常用配置 -
喵喵大神:
推荐聚合数据上一些免费API接口https://www.juh ...
又一波开放API接口 精品文摘、站内搜索、笑话详情 -
ioandy:
请问楼主,为什么我在测试的时候,会收到2次请求?
基于Mina的Http Server以及简单的Http请求客户端 -
jammk:
之前看到一个,应该也是灵图的,http://www.cnblo ...
又来一只开放API——基于FAQ的问答机器人
使用Apache做Tomcat负载的好处:
1. 提升对静态文件的处理性能
2. 利用 Web 服务器来做负载均衡以及容错
3. 无缝的升级应用程序
这三点对一个 web 网站来说是非常之重要的,我们希望我们的网站不仅是速度快,而且要稳定,不能因为某个 Tomcat 宕机或者是升级程序导致用户访问不了,而能完成这几个功能的、最好的 HTTP 服务器也就只有 apache 的 http server 了,它跟 tomcat 的结合是最紧密和可靠的。
Apache HTTP Server 与 Tomcat 的三种连接方式JK,http_proxy,ajp_proxy。下面逐个介绍一下(本篇介绍的示例都是基于前面介绍的已经搭建好的Tomcat集群,都是本机,端口分别为18080和28080):
JK:
JK是最常见的方式,JK 本身有两个版本分别是 1 和 2,目前 1 最新的版本是 1.2.37,而版本 2 早已经废弃了,以后不再有新版本的推出了,所以建议你采用版本 1。
JK 是通过 AJP 协议与 Tomcat 服务器进行通讯的,Tomcat 默认的 AJP Connector 的端口是 8009(本机修改配置为18009和28009)。JK 本身提供了一个监控以及管理的页面 jkstatus,通过 jkstatus 可以监控 JK 目前的工作状态以及对到 tomcat 的连接进行设置。
配置JK
1.下载mod_jk,Tomcat官网下载即可
http://tomcat.apache.org/download-connectors.cgi,下载对应版本
2.修改httpd.conf
3.在conf目录下添加配置文件workers.properties,与上面JkWorkersFile的配置保持一致
3.在conf目录下添加配置文件uriworkermap.properties,与上面JkMountFile的配置保持一致
上面映射的意思是,所有的请求都由 DLOG4J 这个 worker 进行处理,但是有几个例外,/jkstatus 请求由 status 这个 worker 处理。另外配置中每一行数据前面的感叹号表示接下来的 URI 不要由 JK 进行处理,也就是 Apache 直接处理所有的图片、css 文件、js 文件以及静态 html 文本文件。
4.启动apache,两个tomcat
5.测试
先访问http://192.168.1.101:8080/jkstatus,可以看看jkstatus的状态
再访问http://192.168.1.101:8080/ClusterValidate/index.jsp
tip 1:
我参考网上其它的配置,但是不成功,查看日志,是jk的一些选项在新版本改掉了,查了下官网,修改后成功了
tip 2:
我第一次把18009端口配置成18080了,然后mod_jk的日志显示信息格式错误
http_proxy
这是利用 Apache 自带的 mod_proxy 模块使用代理技术来连接 Tomcat。在配置之前请确保是否使用的是 2.2.x 版本的 Apache 服务器。因为 2.2.x 版本对这个模块进行了重写,大大的增强了其功能和稳定性。
http_proxy 模式是基于 HTTP 协议的代理,因此它要求 Tomcat 必须提供 HTTP 服务,也就是说必须启用 Tomcat 的 HTTP Connector。
配置http_proxy
1.恢复加载http_proxy相关模块
在httpd.conf文件中,去掉如下几行的注释
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_http_module modules/mod_status.so
2.在httpd.conf中加上proxy代理的ProxyPass
添加如下配置:
3.启动apache,tomcat
4.测试
http://192.168.1.101:8080/balancer-manager查看均衡状态
http://192.168.1.101:8080/ClusterValidate/index.jsp测试负载均衡
ajp_proxy
与http_proxy基本一致,只是在ProxyPass的地址中,把http的地址转化为ajp的地址,及Tomcat坚挺的ajp端口号。如下:
以上三种负载方案都行,但是官方建议还是jk模式好,效率高,稳定。因为本人项目中没有采用apache+tomcat的负载,只对此做了简单的了解。详细可以去官网查看~
1. 提升对静态文件的处理性能
2. 利用 Web 服务器来做负载均衡以及容错
3. 无缝的升级应用程序
这三点对一个 web 网站来说是非常之重要的,我们希望我们的网站不仅是速度快,而且要稳定,不能因为某个 Tomcat 宕机或者是升级程序导致用户访问不了,而能完成这几个功能的、最好的 HTTP 服务器也就只有 apache 的 http server 了,它跟 tomcat 的结合是最紧密和可靠的。
Apache HTTP Server 与 Tomcat 的三种连接方式JK,http_proxy,ajp_proxy。下面逐个介绍一下(本篇介绍的示例都是基于前面介绍的已经搭建好的Tomcat集群,都是本机,端口分别为18080和28080):
JK:
JK是最常见的方式,JK 本身有两个版本分别是 1 和 2,目前 1 最新的版本是 1.2.37,而版本 2 早已经废弃了,以后不再有新版本的推出了,所以建议你采用版本 1。
JK 是通过 AJP 协议与 Tomcat 服务器进行通讯的,Tomcat 默认的 AJP Connector 的端口是 8009(本机修改配置为18009和28009)。JK 本身提供了一个监控以及管理的页面 jkstatus,通过 jkstatus 可以监控 JK 目前的工作状态以及对到 tomcat 的连接进行设置。
配置JK
1.下载mod_jk,Tomcat官网下载即可
http://tomcat.apache.org/download-connectors.cgi,下载对应版本
2.修改httpd.conf
# (httpd.conf) # 加载 mod_jk 模块 LoadModule jk_module modules/mod_jk.so # # Configure mod_jk # JkWorkersFile conf/workers.properties JkMountFile conf/uriworkermap.properties JkLogFile logs/mod_jk.log JkLogLevel warn
3.在conf目录下添加配置文件workers.properties,与上面JkWorkersFile的配置保持一致
# # workers.properties # # list the workers by name # DLOG4J的名字是随便起的 worker.list=DLOG4J, status # localhost server 1 # ------------------------ worker.s1.port=18009 worker.s1.host=localhost worker.s1.type=ajp13 # localhost server 2 # ------------------------ worker.s2.port=28009 worker.s2.host=localhost worker.s2.type=ajp13 worker.DLOG4J.type=lb worker.retries=3 worker.DLOG4J.balance_workers=s1, s2 worker.DLOG4J.sticky_session=1 worker.status.type=status
3.在conf目录下添加配置文件uriworkermap.properties,与上面JkMountFile的配置保持一致
/*=DLOG4J /jkstatus=status !/*.gif=DLOG4J !/*.jpg=DLOG4J !/*.png=DLOG4J !/*.css=DLOG4J !/*.js=DLOG4J !/*.htm=DLOG4J !/*.html=DLOG4J
上面映射的意思是,所有的请求都由 DLOG4J 这个 worker 进行处理,但是有几个例外,/jkstatus 请求由 status 这个 worker 处理。另外配置中每一行数据前面的感叹号表示接下来的 URI 不要由 JK 进行处理,也就是 Apache 直接处理所有的图片、css 文件、js 文件以及静态 html 文本文件。
4.启动apache,两个tomcat
5.测试
先访问http://192.168.1.101:8080/jkstatus,可以看看jkstatus的状态
再访问http://192.168.1.101:8080/ClusterValidate/index.jsp
tip 1:
我参考网上其它的配置,但是不成功,查看日志,是jk的一些选项在新版本改掉了,查了下官网,修改后成功了
tip 2:
我第一次把18009端口配置成18080了,然后mod_jk的日志显示信息格式错误
http_proxy
这是利用 Apache 自带的 mod_proxy 模块使用代理技术来连接 Tomcat。在配置之前请确保是否使用的是 2.2.x 版本的 Apache 服务器。因为 2.2.x 版本对这个模块进行了重写,大大的增强了其功能和稳定性。
http_proxy 模式是基于 HTTP 协议的代理,因此它要求 Tomcat 必须提供 HTTP 服务,也就是说必须启用 Tomcat 的 HTTP Connector。
配置http_proxy
1.恢复加载http_proxy相关模块
在httpd.conf文件中,去掉如下几行的注释
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_http_module modules/mod_status.so
2.在httpd.conf中加上proxy代理的ProxyPass
添加如下配置:
ProxyPass /images ! ProxyPass /css ! ProxyPass /js ! ProxyPass /balancer-manager ! ProxyPass / balancer://mycluster/ <Proxy balancer://mycluster/> BalancerMember http://localhost:18080/ BalancerMember http://localhost:28080/ </Proxy> <Location /balancer-manager> SetHandler balancer-manager Order Deny,Allow #Deny from all Allow from localhost ip6-localhost </Location>
3.启动apache,tomcat
4.测试
http://192.168.1.101:8080/balancer-manager查看均衡状态
http://192.168.1.101:8080/ClusterValidate/index.jsp测试负载均衡
ajp_proxy
与http_proxy基本一致,只是在ProxyPass的地址中,把http的地址转化为ajp的地址,及Tomcat坚挺的ajp端口号。如下:
ProxyPass /images ! ProxyPass /css ! ProxyPass /js ! ProxyPass /balancer-manager ! ProxyPass / balancer://mycluster/ <Proxy balancer://mycluster/> BalancerMember ajp://localhost:18009/ BalancerMember ajp://localhost:28009/ </Proxy> <Location /balancer-manager> SetHandler balancer-manager Order Deny,Allow #Deny from all Allow from localhost ip6-localhost </Location>
以上三种负载方案都行,但是官方建议还是jk模式好,效率高,稳定。因为本人项目中没有采用apache+tomcat的负载,只对此做了简单的了解。详细可以去官网查看~
发表评论
-
[转]redis中各种数据类型对应的jedis操作命令
2014-07-17 17:24 1925一、常用数据类型简介: redis常用五种数据类 ... -
使用JTA实现跨库事务
2014-02-28 11:18 4401本文是基于atomikos实现的JTA跨库事务 示例中的数据访 ... -
Tomcat调优——问题定位
2013-12-25 16:36 1502对于Tomcat的处理耗时较长的问题主要有当时的并发量、ses ... -
Tomcat调优——集群方案
2013-12-25 16:00 1196单个Tomcat的处理性能是有限的,当并发量较大的时候,就需要 ... -
Tomcat调优——JVM优化
2013-12-25 09:59 4076Tomcat本身还是运行在JVM ... -
Tomcat调优——Connector优化
2013-12-24 17:17 21609Tomcat的Connector是Tomcat接收HTTP请求 ... -
使用Apache搭建Sticky模式的Tomcat集群
2013-04-17 10:15 7050集群原理Web集群分成两个方面:负载分发一方面是水平扩展, ... -
MongoDB副本集集群
2013-02-27 14:18 4763搭建步骤: 准备3个环境,至少3个,因为2个的话有一个挂了另外 ... -
MongoDB主从集群
2013-02-27 11:56 2482MongoDB的集群主要作用: 故障切换,数据集成,读 ... -
CXF记录WebService的soap日志
2012-12-11 14:28 7476cxf本身就支持日志功能,能打印传入传出的soap报文,但是需 ... -
上传一个基于Jax-ws的WebService
2012-12-04 19:08 1553留作备忘! 基于Jax-ws的WebService。发布至T ... -
上传一个最简单的cxf结合spring的Java WebService例子
2012-12-04 13:04 2621备忘!附件为项目。hello world 版本的。 指定了命 ... -
Tomcat访问路径去掉发布项目的项目目录
2012-11-29 10:57 24907需求: 把发布到Tomcat下的web项目,访问路径去掉项目名 ... -
Tomcat集群——使用MSM管理集群Session
2012-11-04 21:50 5949上一篇文章,介绍 ... -
Tomcat集群(使用了nginx负载)
2012-11-04 17:26 7904前一篇文章介绍了使用nginx进行负载均衡的方式,本篇开始搭建 ... -
nginx负载
2012-11-04 15:01 2758Nginx ("engine x&qu ... -
集群简述
2012-11-04 10:59 16951.什么是集群 ... -
Maven培训分享
2012-10-30 22:45 3417最近准备了一个Maven讲解的ppt,初稿,传上来分享一下。顺 ... -
使用nexus搭建内部Maven仓库及使用简介
2012-06-20 18:07 10106由于项目组需要,要搭 ... -
基于Mina的Http Server以及简单的Http请求客户端
2012-03-22 20:37 27897目的: Java平台下的内部组件之间的通信。 ...
相关推荐
【标题】:“Tomcat集群——使用MSM管理集群Session” 在分布式系统中,尤其是在基于Java的Web应用中,实现session的共享是确保用户状态在不同服务器之间无缝切换的关键。Tomcat,作为流行的开源Servlet容器,提供...
apache tomcat负载集群,appache负载,tomcat负载
"Tomcat集群,Apache负载均衡"就是一种实现这些目标的技术方案。Tomcat作为Java Servlet容器,常用于部署Java Web应用,而Apache则可以作为反向代理服务器,实现负载均衡,确保服务的稳定性和高效运行。 首先,我们...
标题中的"tomcat服务集群+apache负载均衡+jk链接tomcat-apache"涉及的是一个常见的Web服务器架构,其中Apache HTTP Server作为前端负载均衡器,通过JK模块与后端的Tomcat集群进行通信,以实现高可用性和性能优化。...
Apache,Tomcat集群和负载均衡包括了apache-tomcat-5.5.29.zip,apache_2.2.4-win32-x86-no_ssl.msi,mod_jk-1.2.28-httpd-2.2.3.so,ApacheTomcat整合文档.doc,Apache,Tomcat集群和负载均衡教程.doc,Tomcat负载...
本文将详细介绍如何配置 Apache + Tomcat 集群,包括安装 Apache 和 Tomcat 服务器、配置 mod_jk 模块、配置 Apache 和 Tomcat 服务器、配置负载均衡控制器等。 一、安装 Apache 服务器 首先,需要安装 Apache ...
反向代理负载均衡 Apache + Tomcat集群 多的我也不多说了 看文档
【标题】:Tomcat集群-负载平衡 在Java Web应用开发中,Apache Tomcat作为一款广泛应用的开源Servlet容器,常被用于部署和运行Java EE应用。然而,单一的Tomcat服务器可能无法满足高并发、高可用性和高可扩展性的...
在本场景中,我们将讨论如何配置Tomcat集群,并结合Nginx作为负载均衡器。 首先,我们需要理解Tomcat集群的基本概念。Tomcat集群是指多个Tomcat实例协同工作,共享会话数据和应用状态,从而提高系统的处理能力和...
### Apache Tomcat 集群与负载均衡 #### 1. 集群相关简介 ##### 1.1 集群 集群是一组通过高速网络互相连接的计算机,它们作为一个整体协同工作,对外呈现出单一系统的特性。客户端与集群交互时,会感觉像在与一个...
### Apache和Tomcat实现集群和负载均衡...以上步骤详细介绍了如何在Windows NT环境下使用Apache和Tomcat实现集群和负载均衡。通过这些配置,可以显著提高系统的可用性和性能,同时也能更好地应对高并发请求场景。
Apache负载均衡Tomcat集群转(实例)带有配置好的配置文件
1. **安装Tomcat**:解压缩四个Tomcat实例到指定目录,例如`D:\Tomcat集群服务器\tomcat6.0`, `tomcat6.01`, `tomcat6.02`, `tomcat6.03`。 2. **配置AJP连接器**:在每个Tomcat的`server.xml`文件中,添加AJP监听...
Tomcat6集群 + Apache + Nginx 均衡负载 以及apache 的ab进行压力测试的方法
### Apache和Tomcat集群配置详解 #### 一、软件准备 在进行Apache和Tomcat集群配置之前,首先需要准备所需的软件资源。 - **Apache 2.2**: - Windows平台: 从官方网站 [http://httpd.apache.org/download.cgi]...