`

Linux下Tomcat与Apache Web服务器的整合

    博客分类:
  • Java
阅读更多

  1、引言

  基于Web技术的Internet/Intranet近年来已经得到了广泛的应用,Intranet是以TCP/IP协议为基础、以Web为 核心的企业内部网,用户通过低成本、简单易用的客户浏览器就能随时随地到企业的Web站点上查阅自己所需的数据。浏览器客户端操作界面的一致性避免了 C/S模式客户端程序的多样性,而服务器端的开放和基于标准的连接方案使企业很方便地通过Internet同外界联系;同时,Web信息动态的、交互式的 发布方式从根本上改变了企业的服务质量,增加了企业的商业机会。

  在许多用户看来,一个Web网站的成败主要在于它所提供的内容和功能,而支持这些内容和功能的Web服务器起着非常重要的作用。

  2、Tomcat容器

  Tomcat是一个免费的开源的Serlvet容器,它是Apache基金会的Jakarta项目中的一个核心项目,由Apache,Sun 和其它一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和Jsp规范总能在Tomcat中得到体现。

  Tomcat是稳固的独立的Web服务器与Servlet Container,不过,其Web服务器的功能则不如许多更健全的Web服务器完整,如Apache Web服务器(举例来说,Tomcat没有大量的选择性模块)。不过,Tomcat是自由的开源软件,而且有许多高手致力于其发展。

  2.1 Linux下安装Tomcat

  在安装Tomcat之前需要安装j2sdk(Java 2 Software Development Kit),安装j2sdk的步骤如下:

  1)到http://www.java.sun.com下载j2sdk ,如j2sdk-1_4_2_04-linux-i586-rpm.bin。

  2)在终端中转到j2sdk-1_4_2_04-linux-i586-rpm.bin所在的目录,输入命令chmod +x j2sdk-1_4_2_04-linux-i586-rpm.bin,添加执行的权限。

  3)执行命令./j2sdk-1_4_2_04-linux-i586-rpm.bin,生成j2sdk-1_4_2_04-linux-i586.rpm的文件。

  4)执行命令chmod +x j2sdk-1_4_2_04-linux-i586.rpm,给j2sdk-1_4_2_04-linux-i586.rpm添加执行的权限。

  5)执行命令 rpm –ivh j2sdk-1_4_2_04-linux-i586.rpm ,安装j2sdk。

  6)安装界面会出现授权协议,按Enter键接受,把j2sd安装在/usr/java/j2sdk1.4.2_04。

  7)设置环境变量,在 /etc/profile.d/目录下建立文件java.sh,文件的内容如下:

  #set java environment

  export JAVA_HOME=/usr/java/j2sdk1.4.2_04

  export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:/usr/java/jdbc

  export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

  8)执行命令chmod 755 /etc/profile.d/java.sh,给java.sh分配权限。

  9)在终端中分别执行命令javac –help和java –version,如果看到有关的信息,则表示j2sdk已成功安装。

  接下来安装tomcat,安装tomcat的步骤如下:

  1)访问http://jakarta.apache.org/tomcat/index.html,下载二进制版的tomcat,如jakarta-tomcat-5.5.10.tar.gz,解压到/usr/local目录:

  cd /usr/local

  gzip –zxvf jakarta-tomcat-5.5.10.tar.gz

  2)修改$tomcat/bin/startup.sh和shutdown.sh文件,

  export JAVA_HOME=/usr/java/j2sdk1.4.2_04

  export CATALINA_HOME=/usr/local/tomcat-5.5.10

  export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:/usr/java/jdbc

  export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

  3)执行startup.sh即可在http://localhost:8080/ 访问到tomcat的缺省面页.

  2.2单独运行Tomcat的优点

  1)容易架设。下载Tomcat,设定一些配置,就完成了。不需要花费时间将Web服务器的连接器整合至其它的Web服务器中。

  2)不需要担心连接器。永远不需要排除在其它Web服务器与Tomcat之间的任何性能或联机方面的问题。

  3)有较佳的安全防护。相对于其它以C、C++所编写的Web服务器,Tomcat比较能忍受远程缓冲区溢位的攻击。因为Tomcat的 Java虚拟机是位于网络及操作系统之间,它可以防止几乎所有类型的缓冲区溢位攻击。使用Tomcat的安全防护领域,可以指定对各个资源的访问。

  4)容易移植。可以将Tomcat服务器(以及应用程序)移植到不同的服务器、操作系统甚至架构上。因为Tomcat是以Java编写的,因此可以将其整个目录结构的内容复制到其它计算机上运行,而完全不需要任何改变,甚至于新的计算机的架构与原来的不同也一样。

  2.3单独运行Tomcat的缺点

  1)Tomcat的支持软件比较少。Tomcat内建Web服务器的支持软件比Apache httpd Web服务器少。

  2)Tomcat的Web服务器功能少。相对于Tomcat Web服务器,Apache httpd服务器有更完整的功能。

  3)虽然Tomcat运行速度快,但还没有Apache httpd快。Tomcat服务器比Apache httpd慢,不过,它还在改进中,而且仍然非常快,快到足以运行今日大多数的企业网站,只是在提供静态页面内容上没有Apache快。

  3、Apache Web服务器

  Apache是根据NCSA的服务器发展而来的,NCSA是最早出现的Web服务器程序之一,由伊利诺斯大学Urbana- Champaign分校的美国国家超级计算应用中心开发。在发展初期,Apache主要是一个基于UNIX系统的服务器,它的宗旨就是建成一个基于 UNIX系统的、功能更强、效率更高并且速度更快的WWW服务器,这就决定了它是从其他的服务器演变而来的,并且添加了大量补丁来增强它在某一方面的性 能,所以它就被命名为“APA+CHy Server(一个补丁组成的服务器)”。发展到今天,Apache已经被移植到很多平台上了。

  Apache的开发遵循GPL协议,由全球的志愿者一起开发和维护。在保持强大的功能及不断更新的同时,它仍然是免费的,并且公开源代码。

  3.1 安装Apache服务器

  可以通过以下三种方法安装Apache服务器。

  1)如果安装的Linux版本中带用Apache的话,就在选择所要安装的服务器的时候,将httpd这个服务选上,Linux安装程序将自动完成Apache的安装工作,并做好基本的配置。

  2)使用可执行文件软件包,这比较适合那些对编译工作不是太熟悉的初级用户,因为它相对比较简单。下载软件包 apache_1.2.4.e.tar.gz ,执行命令tar xvzf apache_1.2.4.e.tar.gz 完成安装工作。如果使用的是RedHat Linux的话,也可以下载apache_1.2.4.rpm软件安装包,然后使用rpm –ivh apache_1.2.4.rpm命令安装。

  3)如果想把Apache服务器充分利用起来的话,就一定要自己编译Apache 定制其功能。 下载包含Apache源代码的软件包apache_1.2.4.tar.gz;然后用tar命令将它解开;将当前目录改变为Apache源代码发行版的 src目录;将配置样本文件(Configuration.tmpl)复制为Configuration文件;编辑Configuration文件中的配 置选项:

  Makefile配置选项:一些编译选项:

  . “CC=”一行指定用什么编译软件编译,一般为“CC=gcc”;如果需要将额外的标志(参数)指定给C编译软件,可以使用:

  EXTRA_CFLAGS=

  EXTRA_LFLAGS=

  如果系统需要特殊的库和包含文件,可以在这里指定它们:

  EXTRA_LIBS=

  EXTRA_INCLUDES=

  如果要改变代码优化设置的话,须将下面一句去掉注释,然后改成所需要的值:

  #OPTIM=-O2

  Rule配置选项:用来决定需要什么功能,一般情况下无需改变。

  模块配置:模块是Apache的组成部分,它为Apache内核增加新功能。通过使用模块配置,可以自定义在Apache服务器中需要什么功能,这个部分也是Apache灵活性的表现。模块配置行如下所示:

  AddModule modules/standard/mod_env.o

  如果需要Apache服务器具备什么功能,就将那个模块用AddModule语句加到配置文件Configuration中去。

  下面列出了Apache的模块功能:

  模块名 功能 缺省

  mod_access 提供基于主机的访问控制命令 y

  mod_actions 能够运行基于MIME类型的CGI脚本或HTTP请求方法 y

  mod_alias 能执行URL重定向服务 y

  mod_asis 使文档能在没有HTTP头标的情况下被发送到客户端 y

  mod_auth 支持使用存储在文本文件中的用户名、口令实现认证 y

  mod_auth_dbm 支持使用DBM文件存储基本HTTP认证 n

  mod_auth_mysql 支持使用MySQL数据库实现基本HTTP认证 n

  mod_auth_anon 允许以匿名方式访问需要认证的区域 y

  mod_auth_external 支持使用第三方认证 n

  mod_autoindex 当缺少索引文件时,自动生成动态目录列表 y

  mod_cern_meta 提供对元信息的支持 n

  mod_cgi 支持CGI y

  mod_dir 能够重定向任何对不包括尾部斜杠字符命令的请求 y

  mod_env 使你能够将环境变量传递给CGI或SSI脚本 n

  mod_expires 让你确定Apache在服务器响应请求时如何处理Expires y

  mod_headers 能够操作HTTP应答头标 y

  mod_imap 提供图形映射支持 n

  mod_include 使支持SSI n

  mod_info 对服务器配置提供了全面的描述 y

  mod_log_agent 允许在单独的日志文件中存储用户代理的信息 n

  mod_log_config 支持记录日志 y

  mod_log_referer 提供了将请求中的Referer头标写入日志的功能 n

  mod_mime 用来向客户端提供有关文档的元信息 y

  mod_negotiation 提供了对内容协商的支持 y

  mod_setenvif 使你能够创建定制环境变量 y

  mod_speling 使你能够处理含有拼写错误或大小写错误的URL请求 n

  mod_status 允许管理员通过WEB管理Apache y

  mod_unique_id 为每个请求提供在非常特殊的条件下保证是唯一的标识 n

  在src目录下执行:“. /configure”;

  编译Apache:执行命令“make”;

  将编译好的可执行文件httpd复制到/etc/httpd/bin目录下;将Apache发行版的配置文件:access.conf、 httpd.conf、mime.types、srm.conf文件复制到/etc/httpd/conf目录下。到此为止,安装完成。

  3.1单独运行Apache httpd的优点

  1)Apache httpd比Tomcat内建的Web服务器快。

  2)较多的软件支持。Apache httpd有庞大的支持软件链接库。

  3)启动与停止快。一般来说,Apache httpd的启动与停止时间都比Tomcat短。

  3.2单独运行Apache httpd的缺点

  1)架设比较困难。比起单独运行Tomcat,安装Apache Web服务器并让它与Tomcat协同运行要复杂很多。

  2)会拖慢动态网页内容的服务。

  3)安全漏洞。Apache httpd比较容易受到缓冲区溢位的攻击。

  4)升级比较复杂。

  4、Tomcat与Apache的整合

  有几种将Tomcat整合到Apache httpd Web服务器的方法:

  1)架使用不同的端口号分担负载。

  该方法是最容易实现的,只需要在现成的网页目录中假如URL以连接到在同一台Web服务器机器上的Tomcat Web服务器端口(如8080)。实际上还是执行两个完整的Web服务器程序,彼此之间并没有真正的整合。

  2)从Apache将请求发送至Tomcat的代理服务器。

  该方法会在主服务器中使用HTTP的代理机制。代理机制常会用来将来自网关上运行的Web服务器的Web信息流重新路由至外部因特网上的网站。不过,也可以用来将网站区域或目录的信息流重导至Tomcat Web服务器。

  3)使用mod_jk2连接器。

  该方法使用运行于现有的Apache httpd Web服务器之内的连接器模块(如mod_jk),并经由特定的协议快速地将请求转送至Tomcat。这是将Tomcat连接至Apache httpd的标准方式。

  4)单一进程中执行两个程序。

  该方法通过让JVM在Apache httpd的进程空间中运行的方式,可以提供“完全整合”的功能。这是最有效的办法,但也是最依赖于服务器的实现。

分享到:
评论

相关推荐

    Linux下Tomcat与Apache Web服务器整合

    【Linux下Tomcat与Apache Web服务器整合】 在互联网和企业网络应用中,Web技术占据了核心地位,TCP/IP协议和Web服务器是实现这一目标的关键组成部分。Linux操作系统因其稳定性和开源特性,成为了众多企业和开发者的...

    Linux下Tomcat与Apache Web服务器整合.doc

    ### Linux下Tomcat与Apache Web服务器整合 #### 一、引言 随着互联网技术的快速发展,特别是基于Web技术的Internet/Intranet在过去几年里获得了广泛的应用。Intranet(内联网)是一种以TCP/IP协议为基础,以Web为...

    linux+apache+tomcat整合完整详解版(最新)

    Linux+Apache+Tomcat 的整合是目前最常用的 web 服务器架构之一,本文档将详细介绍如何在 Red Hat Enterprise Linux 5.2 环境下安装和配置 Apache2.2.12、Tomcat6.0.20 和 JDK6u16,以实现一个完整的 JSP 环境。...

    Linux下Tomcat与Apache的整合

    尽管Tomcat可以作为独立的Web服务器运行,但在实际生产环境中,通常会将其与Apache等成熟的Web服务器整合使用,以发挥各自的优势。通过这种方式,可以将Apache用作前端Web服务器,处理静态资源请求,而Tomcat则专门...

    apache web整合Tomcat工具Linux版

    Apache Web服务器和Tomcat是两种常见的Java应用服务器,它们在Web开发中扮演着重要的角色。Apache主要用于处理静态内容,而Tomcat则专长于运行Java Servlets和JavaServer Pages(JSP)。为了将这两个强大的工具结合...

    ubuntu linux下apache与tomcat的整合.txt

    ### Ubuntu Linux 下 Apache 与 Tomcat 的整合 在 Ubuntu Linux 环境中,Apache 和 Tomcat 的整合是一项常见的任务,旨在实现静态内容通过 Apache 服务器进行高效分发,而动态内容(如 Java 应用)则通过 Tomcat ...

    Linux6.0下Apache与tomcat 整合支持php html java(编译安装)

    Linux 6.0 下 Apache 与 Tomcat 的整合是指在 Linux 6.0 操作系统中将 Apache 和 Tomcat 服务器整合起来,以支持 PHP、HTML 和 Java 等多种编程语言。本文将详细介绍如何在 Linux 6.0 下编译安装 Apache 和 Tomcat,...

    Linux下Apache与Tomcat整合

    在Linux环境中,将Apache HTTP服务器和Tomcat应用服务器整合是一个常见的需求,这使得Apache能够处理静态内容,而Tomcat则负责动态内容的处理,如Java Servlets和JSP。以下是一个详细步骤,介绍如何在Linux系统上...

    Linux下Tomcat与ApacheWeb服务器整合[参考].pdf

    在Linux环境中,整合Apache Web服务器和Tomcat是为了实现更高性能、更稳定且功能丰富的Web服务。Apache作为一款成熟的HTTP服务器,擅长处理静态内容,而Tomcat则是Java Servlet和JSP的标准实现,适用于处理动态内容...

    Apache与Tomcat 整合发布web(Linux)

    这篇文章将探讨如何在Linux环境下整合Apache与Tomcat,以便更有效地发布Web应用。 首先,让我们了解Apache和Tomcat的基本功能。Apache主要负责处理静态网页内容,如HTML、CSS、JavaScript等,而Tomcat则是Java应用...

    整合apache和tomcat构建Web服务器.docx

    整合Apache和Tomcat构建Web服务器 一、Apache与Tomcat整合的必要性 Apache是最流行的Web服务器,开放源代码,支持跨平台的应用(可以运行在几乎所有的Linux、Unix、Windows系统平台上),尤其对Linux的支持相当...

    Linux下Apache与Tomcat整合的简单方法.doc

    在Linux环境下,Apache与Tomcat的整合是一个常见的需求,尤其是对于那些希望利用Apache的高效静态资源处理能力和Tomcat的强大Java应用服务器功能的场景。本文档提供了一套详细步骤,指导用户如何在Linux系统上实现...

    Apache与Tomcat整合的简单方法.pdf

    本文将详细介绍在Linux环境下如何将Apache与Tomcat进行整合,并提供具体的步骤和配置方法。 #### 二、准备工作 确保系统中已正确安装并配置好JDK。接下来需要下载以下三个文件: 1. **httpd-2.2.0.tar.gz**:这是...

    linux下apache2.2整合tomcat6详细步骤.docx

    在Linux环境下,将Apache2.2与Tomcat6进行整合是一项常见的任务,这通常涉及到创建一个Web服务器集群,以便能够处理动态和静态内容。Apache作为前端服务器,主要负责静态资源的处理,而Tomcat作为后端应用服务器,...

    Linux下轻松实现Apache和Tomcat的负载均衡.pdf

    Apache作为Web服务器,可以处理静态内容,而Tomcat作为Java应用服务器,处理动态内容。通过Apache的mod_jk模块,可以将HTTP请求转发到Tomcat,实现两者间的通信。 1. **Apache和Tomcat的整合** - **Apache安装**:...

    Linux系统下Apache与Tomcat整合的简单方法

    在Linux系统中,Apache HTTP服务器和Tomcat应用服务器的整合是一个常见的需求,因为Apache擅长处理静态内容,而Tomcat则专长于运行Java Web应用程序,如Servlet和JSP。本教程将详细介绍如何在Linux环境下简单地整合...

    Linux系统下Web服务器的搭建与设计.pdf

    Linux系统下Web服务器的搭建与设计 本文主要介绍了在 Linux 环境下使用 Apache 及 Tomcat 软件作为服务器的核心,搭建一个全能且稳定的 WEB 服务器。同时还对服务器进行简单优化,相对降低服务器的系统资源占用率,...

    在Linux中整合应用Tomcat和Apache.pdf

    在Linux操作系统中,整合Apache Web服务器与Tomcat Servlet引擎是一项常见的任务,这主要是因为Apache擅长处理静态内容,而Tomcat则专注于运行Java应用,尤其是Servlet和JSP。这种整合使得系统能够提供一个高性能、...

    Linux下Apache与Tomcat整合的简单方法

    在Linux环境下,将Apache HTTP服务器与Tomcat应用服务器整合是常见的做法,以便充分利用Apache的静态资源处理能力以及Tomcat对Java Web应用的支持。以下是一个简单的整合步骤: 1. **准备工作**:确保已安装JDK,...

Global site tag (gtag.js) - Google Analytics