`

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服务器整合

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

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

    apache web整合Tomcat工具Linux版

    这是Linux版本的用于整合tomcat与apache服务器的整合工具

    Apache与Tomcat整合服务部署配置手册

    在linux上安装Java虚拟机--jdk,并且结合Tomcat,提供JSP架构的web服务器,并且为以后Tomcat连接Apache时的快速通信安装tomcat-native,最后为tomcat提供连接Mysql的jar文件,mysql-connector-java,最后配置Tomcat...

    linux+apache+tomcat+mysql+jsp+php-整合安装

    超级无敌web服务器 linux+apache+tomcat+mysql+jsp+php 整合安装 自己的安装过程,以前发表在新浪博客,现在换地盘了转过来... 自我感觉写得还是不错滴.. 在安装过程更是学到了很多东西 做好这个项目以后linux...

    linux+apache+tomcat+mysql+jsp+php

    超级无敌web服务器 linux+apache+tomcat+mysql+jsp+php 整合安装 自己的安装过程,以前发表在新浪博客,现在换地盘了转过来... 自我感觉写得还是不错滴.. 在安装过程更是学到了很多东西 做好这个项目以后linux...

    win7下Apache2.2+Tomcat7.0整合配置详解

    Apache Tomcat 是由 Apache 软件基金协会与 Sun 公司联合开发的一款Web服务器,它除了支持HTML等静态页面外,还支持JSP、Servlet 。 在相同的运行环境下,Tomcat 对静态页面的反应速度没有 Apache

    Apache和Tomcat的集成

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

    Linux课程设计报告

    Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。 Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音...

    linux中小企业服务器配置方案

    第三章 第四节 Linux下Apache、php3、MySQL的整合 第三章 第五节 为Apache增加SSL安全保护 第四章 邮件服务器--第一节 Sendmail服务器 第四章 第二节 Qmail服务器 第四章 第三节 三个重要的邮件系统相关协议 第五章...

    Linux中小企业服务器配置方案.zip

    第三章 第四节 Linux下Apache、php3、MySQL的整合 第三章 第五节 为Apache增加SSL安全保护 第四章 邮件服务器--第一节 Sendmail服务器 第四章 第二节 Qmail服务器 第四章 第三节 三个重要的邮件系统相关协议 第五章...

    nginx+tomcat高可用、高性能jsp集群

    #apr 与 tomcat-native 提供更好的伸缩性、性能和集成到本地服务器技术,如果没有apr技术,启动tomcat 时出现如下提示 #INFO: The APR based Apache Tomcat Native library which allows optimal performance in ...

    低清版 大型门户网站是这样炼成的.pdf

    1.2.5 支持集群功能的web服务器tomcat 21 1.2.6 开源数据库服务器之骄子mysql 23 1.2.7 功能强大的flv流媒体服务器red5 24 1.3 门户网站开发指导思想 26 1.4 ssh 2组合框架—门户网站开发之首选 28 1.4.1 mvc...

    Linux简明教程.rar

    目的:让更多的人从零开始学会使用linux,少走弯路 演示系统:Ubuntu 10.04 desktop 适用人群:未接触或刚刚接触linux的同志们 本教程使用Ubuntu 10.04 LTS - Lucid Lynx做演示,其他版本皆大同小异,有特殊的相...

    基于J2EE框架的个人博客系统项目毕业设计论...

    目前支持JSP的应用服务器是较多的,Tomcat是其中较为流行的一个Web服务器,被JavaWorld杂志的编辑选为2001年度最具创新的Java产品,可见其在业界的地位。 Tomcat是一个免费的开源的Serlvet容器,在Tomcat中,应用...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    目前支持JSP的应用服务器是较多的,Tomcat是其中较为流行的一个Web服务器,被JavaWorld杂志的编辑选为2001年度最具创新的Java产品,可见其在业界的地位。 Tomcat是一个免费的开源的Serlvet容器,在Tomcat中,应用...

    Eclipse开发分布式商城系统+完整视频代码及文档

    │ │ apache-tomcat-7.0.57.tar.gz │ │ JVM调优实战.doc │ │ Tomcat7优化.docx │ │ 深入理解Java内存模型.pdf │ │ │ └─课后资料 │ ├─笔记 │ │ 淘淘商城_day20_课堂笔记.docx │ │ │ └─视频 ...

    iuhyiuhkjh908u0980

    看看现存的Java web应用程序框架,无一例外的要求花费大量的时间与精力后才可投入生产。对于大多数开发人员来说想要的东西很简单:友好,易于学习并且还具有生产力。因此我们开发了JSPX。 JSPX的主要目标就是打造...

    单点登录源码

    | └── zheng-cms-web -- 网站前台[端口:2224] ├── zheng-pay -- 支付系统 | ├── zheng-pay-common -- pay系统公共模块 | ├── zheng-pay-dao -- 代码生成模块,无需开发 | ├── zheng-pay-rpc-api -- ...

Global site tag (gtag.js) - Google Analytics