`
tuhaitao
  • 浏览: 379316 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

tomcat + apache http server配置

阅读更多

    tomcat虽然也能处理html,image,js,css这些静态文件的请求,但是与apache http server比起来,还是小巫见大巫了,由于apache没办法处理jsp脚本,这就必须要交由tomcat来处理,当然还有其他应用服务器,这里我们就说说tomcat,所以问题变为:
1.静态文件(image,css,js)等这些静态文件可由apache http server来处理
2.jsp文件交由tomcat来处理

经过这样的配置,可以大大增加网站处理静态文本的能力
下边说下配置的流程,tomcat整合apache http server 主要又apache tomcat提供的jk(http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/ )模块,也可以使用apache2.2.x以后的代理模块,但久经考验的还是jk模块,经过千万亿次请求的东西还是值得让人信赖的。


配置其实很简单,这里先不介绍负载均衡配置,只是简单的集成1个tomcat与1个apache http server

所需环境:
JDK 1.5 +
Tomcat 6.0 +
Apache Http Servier 2.2 +
mod_jk-1.2.28-httpd-2.2.3.so(win32)


1.配置apache http server

本文环境:D:\apache

打开 D:\apache\conf\httpd.conf

增加:

# 加载 mod_jk 模块
LoadModule jk_module modules/mod_jk-1.2.28-httpd-2.2.3.so

# 配置 mod_jk
JkWorkersFile conf/tomcat/workers.properties
JkMountFile conf/tomcat/uriworkermap.properties
JkLogFile logs/mod_jk.log
JkLogLevel warn




下边在(D:\apache\conf\)下增加tomcat目录,在tomcat目录下新建workers.properties、
uriworkermap.properties

这里说明一下,workers.properties这个文件是配置jk模块与tomcat通信地址,以及一些约定
uriworkermap.properties 是配置哪些文件由apache http server 处理,哪些由tomcat处理,你也可以在httpd.conf配置下边的内容,但是由于这些属性是jk模块所独有的,为了让我们更改配置后不重新启动apache http server,这里分开配置。

workers.properties配置如下:

#
# workers.properties
# by haitao.tu 2009-7-22
#


# list the workers by name

worker.list=tuz, status

# localhost server tuz
# ------------------------
worker.tomcat.port=8009
worker.tomcat.host=localhost
worker.tomcat.type=ajp13

worker.tuz.type=lb
worker.retries=3
worker.tuz.balanced_workers=tomcat
worker.tuz.sticky_session=1

worker.status.type=status



    以上的 workers.properties 配置就是我们前面那个屏幕抓图的页面所用的配置。首先我们配置了类型为 ajp13 的 worker tuz,它指向服务器上运行在端口 8009 的 Tomcat(tomcat默认开启有8009 ajp1.3端口) 上。接下来我们配置了一个类型为 lb(也就是负载均衡的意思)的 worker(由于我这里只是配置了一个tomcat所以这里也就没有负载意思,只是先这样写,有时间我写一个负载的demo),它的名字是 tomcat,这是一个逻辑的 worker,它用来管理前面配置的物理连接 tuz,将来还可以配置多个。最后还配置了一个类型为 status 的 worker,这是用来监控 JK 本身的模块。有了这两个 worker 还不够,我们还需要告诉 JK,哪些 worker 是可用的,所以就有 worker.list = tuz, status 这行配置

    下来便是 URI 的映射配置了,我们需要指定哪些链接是由 Tomcat 处理的,哪些是由 Apache Http Server直接处理的,看下面这个文件你就能明白其中配置的意义:

# 映射文件配置
/*=tuz
/jkstatus=status

!/*.gif=tuz
!/*.jpg=tuz
!/*.png=tuz
!/*.css=tuz
!/*.js=tuz
!/*.htm=tuz
!/*.html=tuz



这里简单解释下:

    所有的请求都由 tuz这个 worker 进行处理,但是有几个例外,/jkstatus 请求由 status 这个 worker 处理(这个主要是监控jk的页面,由jk模块处理), 感叹号表示接下来的 URI 不要由 JK 进行处理,也就是 Apache 直接处理所有的图片、css 文件、js 文件以及静态 html 文本文件,很简单吧~

下边测试一下:
首先在apache http server的htdocs目录,我的环境是
D:\apache\htdocs
在这个目录新建一个test目录,在里边放入Sunset.jpg图片(windows自带壁纸)

然后在tomcat的webapps目录,我的环境是
D:\apache-tomcat-6.0.18\webapps
在这个目录里也新建一个test目录,在里边放入写好的jsp文件:
index.jsp

<html>
	<body>
		<h1>tomcat 6.0.18</h1>
		<img src="Sunset.jpg">
	</body>
</html>



然后启动tomcat与apache http server

打开链接:http://localhost/test/index.jsp

 

成功时可以看到apache http server通过jk模块把index.jsp的请求通过tomcat开启的8009端口 通知tomcat,然后由tomcat的处理jsp请求,但apache http server自己处理了图片的请求。

 

先写这么多吧,自己也是现学现卖,主要还是把学到的东西记下来,以供日后查看。

 





   



 

分享到:
评论
2 楼 tuhaitao 2012-02-25  
xinyu_yang77 写道
今天看到Tomcat文档中一句话,如果只有一个Tomcat实例的话,选用前端web server性能不好。

When using a single server, the performance when using a native webserver in front of the Tomcat instance is most of the time significantly worse than a standalone Tomcat with its default HTTP connector, even if a large part of the web application is made of static files.
<http://tomcat.apache.org/tomcat-7.0-doc/connectors.html>

是的,单台物理机器的情况下,会差,但在多台机器的情况下性能会有明显的提高,可能翻译的时候有偏差,using a single server 表示的是一台物理机器,这是由于,CPU、内存都有限的情况下,2个进程来回切换,有所消耗,如果并发数到一定的时候,就必须拆分到多台机器上去了,吞吐量,处理速度会有很大的提升:)
1 楼 xinyu_yang77 2012-02-17  
今天看到Tomcat文档中一句话,如果只有一个Tomcat实例的话,选用前端web server性能不好。

When using a single server, the performance when using a native webserver in front of the Tomcat instance is most of the time significantly worse than a standalone Tomcat with its default HTTP connector, even if a large part of the web application is made of static files.
<http://tomcat.apache.org/tomcat-7.0-doc/connectors.html>

相关推荐

    tomcat+apache集群配置实例

    【标题】:“Tomcat+Apache集群配置实例” 在IT领域,服务器集群是一种常见的高可用性和负载均衡解决方案。这里我们将深入探讨如何配置一个基于Tomcat和Apache的集群环境,以提高Web应用的服务质量和应对高流量场景...

    Tomcat+Apache+JK集群

    【标题】"Tomcat+Apache+JK集群"指的是在Web服务器架构中,通过Apache HTTP Server与Tomcat应用服务器结合,并利用JK模块实现负载均衡和高可用性的集群部署方式。这种方式可以提升系统的性能和稳定性,应对高并发...

    tomcat+apache 6.0集成打包

    【标题】"tomcat+apache 6.0集成打包"涉及的是在服务器环境中整合Apache HTTP Server与Apache Tomcat的常见技术实践。这个压缩包包含了Apache 2.2.8和Tomcat 6.0.16这两个特定版本,以及JK模块(即mod_jk)的2.0.55...

    tomcat+apache+jk集群和负载均衡

    以下是对标题“tomcat+apache+jk集群和负载均衡”以及描述“tomcat+apache+jk集群和负载均衡”的深入解析,涵盖其原理、配置步骤以及关键参数调整。 ### 1. 理论基础 #### Tomcat Tomcat是Apache软件基金会下的一...

    Tomcat+Apache集成配置大全

    "Tomcat+Apache集成配置大全"的主题聚焦于如何将两个流行的开源服务器软件——Apache HTTP Server和Apache Tomcat进行有效整合,以实现更高效、更稳定的服务。这个主题包含了多种集成策略和最佳实践,对于提升网站...

    Tomcat+Apache集成配置大全[收集].pdf

    Tomcat是一个流行的开源Servlet容器,主要负责处理Servlet和JSP,但在处理静态内容和提供高级Web服务器管理功能上,它不如像Apache HTTP Server这样的专业HTTP服务器。因此,在实际应用中,往往将两者集成以发挥各自...

    tomcat + apache + memcached 集群jar包

    标题中的“tomcat + apache + memcached 集群jar包”揭示了这是一个关于构建分布式系统的技术组合,其中涉及到三个核心组件:Tomcat(一个流行的Java应用服务器)、Apache(一个广泛应用的HTTP服务器)和Memcached...

    linux+apache+tomcat+java配置文件.rar

    这涉及到在Apache配置文件中添加负载均衡和故障转移规则,以及在Tomcat的`server.xml`中配置JK连接器。 6. 安全与优化:确保所有服务都升级到最新版本,避免已知的安全漏洞。使用SSL/TLS证书为网站提供加密连接。...

    JDK+TOMCAT+SQL server 2005配置系统环境

    "JDK+TOMCAT+SQL Server 2005配置系统环境" 本文主要介绍如何配置JDK、Tomcat和SQL Server 2005以创建一个完整的系统环境,以便运行JSP文件。下面我们将逐步介绍配置过程。 一、JDK环境搭建 JDK(Java ...

    Windows环境下的tomcat + apache配置(绝对实践操作版).rar

    在Windows环境下,将Apache HTTP服务器与Tomcat应用服务器进行整合是常见的Web服务器部署方式,这样可以充分利用Apache的静态资源处理能力和Tomcat的动态内容处理能力。以下是对这个配置过程的详细解析。 首先,...

    Windows环境下的tomcat+apache配置

    在Windows环境下配置Tomcat与Apache是一项常见的Web服务器集成任务,主要目的是实现Apache作为前端服务器处理静态内容,而将动态请求转发到后端的Tomcat服务器处理。这种配置可以提高服务器性能,优化资源分配,并...

    TOMCAT+APACHE集成以及session复制

    这需要在TOMCAT的server.xml配置文件中开启集群设置,并添加适当的集群监听器和session复制策略。此外,可能还需要在应用层面进行一些调整,确保session对象是可序列化的。 在这个"负载均衡和session复制"的压缩包...

    openjdk11+tomcat9+CASServer.zip

    **Tomcat 9**: Tomcat是Apache软件基金会的项目,是一款流行的开源Java Servlet容器。Tomcat 9支持Java EE 8规范,包括Servlet 4.0、JSP 2.3和EL 3.0等。在这个场景下,Tomcat作为CAS Server的Web服务器,负责处理...

    LINUX+ORACLE+APACHE+TOMCAT+JSP完全配置手册.doc

    《LINUX+ORACLE+APACHE+TOMCAT+JSP 完全配置手册》提供了在Linux环境下搭建Oracle数据库、Apache服务器、Tomcat应用服务器以及JSP开发环境的详细步骤。以下是各部分的关键知识点: 一、准备工作 在开始配置之前,...

    Tomcat+Apache2负载均衡部署参考

    这种部署方式通过Apache HTTP Server作为前端负载均衡器,将客户端请求分发到后端的多个Tomcat应用服务器上,从而实现高并发处理和故障转移。 首先,我们需要了解配置环境和所需软件。在这个例子中,我们使用的是...

    tomcat+apache整合插件大全及整合方法

    Apache作为一款功能强大的HTTP服务器,能够处理静态内容,而Tomcat则是Java Servlet和JavaServer Pages(JSP)的容器,用于处理动态内容。两者结合,可以实现高效、灵活的Web服务架构。下面将详细讲解如何进行Tomcat...

    linux+java+tomcat+apache环境搭建.pdf

    Linux+Java+Tomcat+Apache环境搭建涉及到多个环节,包括操作系统的选择、Java开发环境的搭建、Web服务器的配置以及Web应用服务器的配置等。接下来将详细阐述这个过程中的关键知识点。 首先,操作系统选择通常会选择...

    apache+tomcat+jk 均衡负载和集群

    这个配置中,Apache作为前端反向代理服务器,Tomcat作为后端的应用服务器,而JK模块是Apache与Tomcat之间的连接器,负责通信和请求分发。以下是关于这个主题的详细知识点: 1. **Apache HTTP Server**:Apache是最...

    WINXP+APACHE+MYSQL+PHP+TOMCAT+JSP+PERL+CGI调试环境安装配置手册

    2. **Apache HTTP Server**: Apache是最流行的开源Web服务器,它支持多种编程语言,如PHP、Perl和CGI。在Windows XP上安装Apache需要下载合适的二进制版本,配置HTTPD.conf文件,设定端口、虚拟主机等参数。 3. **...

Global site tag (gtag.js) - Google Analytics