整合apache和tomcat构建Web服务器

linux是最常用的web服务器,本节我们将通过整合apache和tomcat构建一个java/jsp运行平台,详细介绍web服务器的搭建过程。

一、apache与tomcat整合的必要性

Apache是最流行的Web服务器,开放源代码,支持跨平台的应用(可以运行在几乎所有的Linux、Unix、Windows系统平台上),尤其对Linux的支持相当完美。

apache的优点有:

功能强大,apache自带了很多功能模块,可根据需求编译自己需要的模块。

配置简单,apache的配置文件非常简单,通过简单的配置可实现强大功能。

速度飞快,apache处理静态页面文件效率非常高,可以应对大并发和高负荷访问请求。

性能稳定,apache在高负荷请求下性能表现卓越,执行效率非常高。

但是apache也有自身的缺点:

只支持静态网页,对于jsp、php等动态网页不支持

Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,因此,不太适合于多处理器环境。

Tomcat是Sun和Apache合作做出来的JSPServer,有如下优点:

支持Servlet和JSP,可以很好的处理动态网页。

跨平台性好:Tomcat是Java程序,所以只要有JDK就可以使用,不需要考虑操作系统平台。

但是,tomcat也有自身缺点:

处理静态页面效率不高:Tomcat本身可以做为Web Server,但是tomcat在处理静态页面时没有Apache迅速。

可配置性不强:tomcat不像Apache一样配置简单,稳定、强壮。

综上所述,通过相互的整合刚好弥补了各自的缺点,通过整合可以实现:

客户端请求静态页面时,由Apache服务器响应请求。

客户端请求动态页面时,则是Tomcat服务器响应请求。

通过apache信息过滤,实现网站动、静页面分离,保证了应用的可扩展性和安全性。

既然要让Apache和Tomcat协调工作,就必需有一个连接器把它们联系起来,这就是下面要提到的Connector,下个小节具体讲述Connector的选择和使用。

二、 Apache和Tomcat连接器

Apache是模块化的web服务器,这意味着核心中只包含实现最基本功能的模块。扩展功能可以作为模块动态加载来实现。为了让apache和tomcat协调工作,开源爱好者们开发出了很多可以利用的模块,在Apache2.2版本之前,一般有两个模块可供选择:mod_jk2和mod_jk,mod_jk2模块是比较早的一种连接器,在动、静页面过滤上可以使用正则表达式,因此使用配置灵活,但是mod_jk2模块现在已经没有开发人员支持了,版本更新也就此停止。继承jk2模块的是mod_jk模块,mod_jk模块支持Apache 1.x和2.X系列版本,现在一般都使用mod_jk做Apache和Tomcat的连接器。

在Apache2.2版本以后,又出现了两种连接器可供选择,那就是http-proxy和proxy-ajp模块,apache的proxy(代理)模块可以实现双向代理,功能非常强大,从连接器的实现原理看,用http-proxy模块实现也是很自然的事情,只需打开tomcat的http功能,然后用apache的proxy代理功能将动态请求交给tomcat处理,而静态数据交给apache自身就可以了。proxy-ajp模块是专门为tomcat整合所开发的,通过ajp协议专门代理对tomcat的请求。根据官方的测试,proxy-ajp的执行效率要比http-proxy高,因此在Apache2.2以后的版本,用proxy-ajp模块作为apache和tomcat的连接器是个不错的选择。

需要说明的是,这些连接功能的实现,都是通过在apache中加载相应的功能模块实现,比如上面提到的mod_jk、mod_jk2、proxy-ajp模块,都要事先通过源码编译出对应的模块,然后通过apache配置文件动态加载,实现连接器功能。这点也是apache的优势所在。

在下面的讲述中,我们将重点讲述mod_jk作为连接器的安装配置与实现。

时间: 2024-10-17 06:54:19

整合apache和tomcat构建Web服务器的相关文章

Tomcat与Web服务器、应用服务器的关系

Tomcat服务器是一个免费的开放源代码的Web应用服务器.因为Tomcat技术先进.性能稳定且免费,所以深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器. 一.Tomcat与应用服务器 到目前为止,Tomcat一直被认为是Servlet/JSP API的执行器,也就所谓的Servlet容器.然而,Tomcat并不仅仅如此,它还提供了JNDI和JMX API的实现机制.尽管如此,Tomcat仍然还不能算是应用服务器,因为它不提供大多数J2EE API的支持

NodeJs+http+fs+request+cheerio 采集,保存数据,并在网页上展示(构建web服务器)

目的: 数据采集 写入本地文件备份 构建web服务器 将文件读取到网页中进行展示 目录结构: package.json文件中的内容与上一篇一样:NodeJs+Request+Cheerio 采集数据 request :https://github.com/request/request 使得请求变得更容易,简单 cheerio:https://github.com/cheeriojs/cheerio 用来解析dom结构,类似jQuery,挺好用 app.js文件: /** * 数据采集 * 写入

Jsp和PHP共用80端口整合Apache和Tomcat(访问时无需加端口号)_JSP编程

目的: 整合Apache和Tomcat,使得Java工程和PHP工程都能共用80端口,访问网站时,无需在地址栏中加端口号. 环境说明: Linux CentOS 32位 Apache 2.2.2 Tomcat 7.0.37 准备工作: 下载mod_jk.so http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/ 打开链接找到合适的文件下载,下载后改名为mod_jk.so 修改Apache相关文件 1.将mod_j

Windows环境下用Apache+PHP+MySql配置web服务器(菜鸟版)

写得很痛苦,虽然文章质量不高,还是希望转载请注明出处,谢谢. 我身边没有人教,全是自己上网找的资料,和在QQ上找的朋友问的. 相信看我这种文章的,情况应该和我一样,由于没有人教,才上网找资料. 直到现在,有一些问题我还没有搞清楚,相信也还会有一大堆问题我还没有发现. 我把我的经验拿出来和大家分享,希望高手能给予指点. 软件版本: Apache 2.0.54 (要安装文件是install的) PHP 5.0.4 (要安装文件是zip的,解压以后一大堆文件的那种,不要install的) MySQL

Mac OSX 下整合 Apache 和 Tomcat

Tomcat, XAMPP, and mod_jk I recently upgraded to Snow Leopard (more on that later, it did not go so smoothly), and decided that rather than simply port my existing web development stack (which was rickety), I would try to build something clean and ne

使用Apache&花生壳架设Web服务器_服务器

这里讲的是IIS服务器,其实花生壳在Apache下也能正常使用,这一点我在以前的帖子中已经讲过,现在专门把Apache的配置作一详细说明: 首先:当然是下载Apache啦,Apache目前最新的Windows版本是1.3.2X,你可以到它的官方网站去下载最新版(http://www.apache.org),Win2000对应的下载文件是Win32版本,Win98和Winme对应的下载文件是R298orMe版本,注意别下载错了.如果你使用的是Win2000而下载了Win98orMe的版本,嘿嘿,等

搭建胜过Apache十倍的Web服务器Nginx 0.8.x+PHP 5.2.13(FastCGI)

本文是我撰写的关于搭建"Nginx + PHP(FastCGI)"Web服务器的第6篇文章.本系列文章作为国内最早详细介绍 Nginx + PHP 安装.配置.使用的资料之一,为推动 Nginx 在国内的发展产生了积极的作用.第6篇文章主要介绍了Nginx 0.8.x新的平滑重启方式,将PHP升级到了5.2.14,修正了PEAR问题.另将MySQL 5.1.x升级到了5.5.x系列,配置文件变更较大. Nginx ("engine x") 是一个高性能的 HTTP

网络基础应用 Windows2000构建Web服务器

因特网信息服务器IIS(Internet Information Server)是Microsoft公司的一种集成了多种Internet服务(WWW服务.FTP服务等)的服务器软件,作为当今流行的Web服务器之一,提供了强大的Internet和Intranet服务功能.利用它,可以很容易地构造Web站点. 一. 服务器的设置 1.安装IIS5.0 IIS5.0是随Windows 2000 Server安装时自动安装的.如果在安装Windows 2000 Server时没有安装IIS5.0,则可在

网络基础-Windows2000构建Web服务器

因特网信息服务器IIS(Internet Information Server)是Microsoft公司的一种集成了多种Internet服务(WWW服务.FTP服务等)的服务器软件,作为当今流行的Web服务器之一,提供了强大的Internet和Intranet服务功能.利用它,可以很容易地构造Web站点. 一. 服务器的设置 1.安装IIS5.0 IIS5.0是随Windows 2000 Server安装时自动安装的.如果在安装Windows 2000 Server时没有安装IIS5.0,则可在