`

Apache 1.3.* vs 2.0.* vs 2.2.*比较

阅读更多

APACHE 1.3.× VS 2.0


  • 编译时配置的改变

Apache现在使用autoconf和libtool系统来进行安装进程的配置。这个系统用起来很像Apache1.3的APACI系统,但并不相同。
在普通的选择编译模块的基础上,Apache2.0把请求进程的主要部分移到了多路处理模块(MPM)里。


  • 运行时配置的改变


Apache1.3服务器核心中的很多指令现在都放到了MPM里面。如果你希望服务器的行为能够尽量的类似于Apache1.3 ,你应当选择preforkMPM。其他的MPM将拥有不同的指令来控制进程创建和请求过程。
proxy module已经被修补以兼容HTTP/1.1。其中重要的改变之一是:代理的访问控制现在是放在< roxy>段而不是<Directory proxy:>段里面了。
许多模块中PATH_INFO (在真实文件名后附加路径信息)的处理有了变化。以前作为处理器而现在作为过滤器出现的模块现在可能不再接受包含PATH_INFO的请求。诸如 INCLUDES或PHP过滤器将在处理核心的最顶层得到实现,从而拒绝包含PATH_INFO的请求。你可以用AcceptPathInfo指令来迫使 处理核心接受包含PATH_INFO的请求,从而恢复服务器端包含中使用PATH_INFO的能力。
CacheNegotiatedDocs指令现在使用 On 或 Off 参数了。原有的CacheNegotiatedDocs应该代之以CacheNegotiatedDocs on
ErrorDocument指令不再用引号开始的参数来指定文本内容了。取而代之的是用双引号把文本内容括起来。比如原有的配置:

  1. ErrorDocument 403 "Some Message
复制代码

应该代之以:

  1. ErrorDocument 403 "Some Message"
复制代码

只要第二个参数不是有效的URL或路径名,它就会被当作是一个文本信息。
AccessConfig和 ResourceConfig指令不复存在了。现有的这些指令可以用Include指令代替以实现相同的功能。如果你使用的是这些指令的默认值而没有把它 们放到配置文件里的话,你可能需要把"Include conf/access.conf"和"Include conf/srm.conf"加到你的httpd.conf里。为了确保Apache用象以前一样的顺序读取这些配置文件,应该把Include指令放到 httpd.conf的结束部分,并将包含srm.conf的语句放在包含access.conf的语句的前面。
BindAddress和Port指令不再存在了。相同的功能由更加灵活的Listen指令提供。
Apache1.3中Port指令的另一功能是设定自引用的URL的端口。Apache2.0中对等的是新的ServerName语法:它已经被修改成在一条指令里同时为自引用的URL指定服务器名和端口号。
ServerType指令不复存在了。用于伺服请求的方法现在取决于MPM的选择。目前还没有设计出用于被inetd(端口监视程序)载入的MPM。
mod_log_agent和mod_log_referer被去掉了。取代以使用CustomLog指令的mod_log_config模块。
AddModule和ClearModuleList指令不复存在了。这些指令原用于确定模块以正确的顺序被激活。而新的Apache2.0 API允许模块明确的指定它们的顺序,从而这些指令就不再有存在的必要了。
FancyIndexing指令被去掉了,取而代之的是IndexOptions指令的FancyIndexing选项。
由模块mod_negotiation提供的MultiViews内容协商机制在其默认文件匹配方面变得更加严格了,只匹配允许协商的文件。可以用MultiviewsMatch 指令恢复到原来的匹配模式。
(2.0.51以后) ErrorHeader指令的功能合并到Header指令中去了。因为原来的是一个谬误。应当使用:

  1. Header always set foo bar
复制代码

代替原来的使用方式。


  • 杂项的改变

Apache1.3中的实验模块mod_auth_digest现在是基本模块了。
Apache1.3中的实验模块mod_mmap_static现在被mod_file_cache代替了。
发行包经过了重新组织,从而不再包含一个独立的src目录。取而代之的是将源代码有逻辑的组织在发行包的主目录下面。编译后的服务器的安装将从各自的目录下进行。


  • 第三方模块


Apache2.0中的服务器API有了巨大的变化。现有的为Apache1.3设计的模块未经修改将不能运行在Apache2.0上。详情请参见Apache开发者文档。

 

2.0.* VS 2.2.*


  • 编译时配置的改变


编译过程与2.0版本非常相似,你曾经使用过的configure命令行(在安装目录下的build/config.nice文件中)在某些情况下仍然可以使用。主要是模块的名称变化了,特别是认证和授权模块。具体如下:
mod_imap 被更名为 mod_imagemap
mod_auth 被拆分为 mod_auth_basic、mod_authn_file、mod_authz_user、mod_authz_groupfile
mod_access 被更名为 mod_authz_host
mod_auth_ldap 被更名为 mod_authnz_ldap
需要使用 APR 1.0 API
将内置的PCRE升级到5.0版本


  • 运行时配置的改变


除了下面讨论的某些特定配置需要进行很小的调整以外,现存的2.0版本的配置文件和启动脚本基本上不需要修改就可以直接用在2.2版本中。另外,如果你使用LoadModule动态加载了标准模块。你还需要根据上面提到的模块名变更情况适当修改原有配置文件。
如果你选择使用新的2.2版默认配置文件,你将会发现它已经删除了绝大多数不属于基本配置的指令,比以前大大简化了。在安装目录下的conf/extra/子目录中,有一组包含许多高级特性的示例配置。默认的配置文件被安装在conf/original子目录中。
一些需要注意的运行时配置更改:
apachectl选项startssl被取消了。要启用SSL支持,你必须编辑httpd.conf文件,在其中包含与mod_ssl相关的指令,然后 使用 apachectl start 命令启动服务器。我们提供了一个示范如何启用mod_ssl的配置文件:conf/extra/httpd-ssl.conf 。
现在,UseCanonicalName的默认值是 Off 。如果原来的配置文件中没有使用这个指令,你可以在其中添加 UseCanonicalName On 以保持和原来的行为相同。
除非明确使用UserDir指令在配置文件中指定了一个目录,否则,mod_userdir模块将不会被激活。若想恢复到与原来默认行为相同,你必须在配置文件中添加一行"UserDir public_html"。


  • 杂项变化


mod_cache原来在2.0中是试验模块,现在变成标准模块了。
mod_disk_cache原来在2.0中是试验模块,现在变成标准模块了。
mod_mem_cache原来在2.0中是试验模块,现在变成标准模块了。
mod_charset_lite原来在2.0中是试验模块,现在变成标准模块了。
mod_dumpio原来在2.0中是试验模块,现在变成标准模块了。


  • 第三方模块


大多数2.0版本的第三方模块可以不加修改的运行于2.2版本中。但是这些模块必须要重新进行编译后才能使用。

  • 大小: 38.6 KB
分享到:
评论

相关推荐

    KAFKA-3.1.1-1.3.1.1.p0.2-el7.parcel

    标题中的“KAFKA-3.1.1-1.3.1.1.p0.2-el7.parcel”指的是Apache Kafka的一个特定版本的软件包,适用于Red Hat Enterprise Linux 7(RHEL 7)系统。这个版本是3.1.1,并且可能是某个特定发行版或修补版的1.3.1.1.p0.2...

    PyPI 官网下载 | projects_manager-0.8.2.0.tar.gz

    标题中的"PyPI 官网下载 | projects_manager-0.8.2.0.tar.gz"表明这是一个在Python Package Index(PyPI)上发布的开源项目,名为"projects_manager",其版本号为0.8.2.0,且以tar.gz格式提供。PyPI是Python开发者...

    Apache配置.docx

    - **2.2**: 目前最稳定且广泛使用的版本之一。 - **2.4**: 在2.2的基础上进一步优化了性能和增加了新特性,是当前推荐使用的版本。 #### 三、Apache安装方式及其适用场景 Apache的安装方式主要包括三种:源码编译...

    Apache 2.2 在Windows中的应用

    但如果需要同时安装Apache 1.3和Apache 2.2,则无此限制。 3. **安装步骤**: - 运行下载好的Apache.msi文件。 - 提供必要的信息,包括网络域、服务器名称、管理员电子邮件地址等。 - 选择安装模式。如果希望...

    tomcat 异常

    标题中的“Tomcat异常”可能指的是在使用Apache Tomcat服务器时遇到的问题,这通常与服务器配置、应用部署、资源管理或与其他组件的交互有关。在分析这个问题时,我们需要考虑多种可能的原因,包括但不限于: 1. **...

    tongweb6.0使用手册

    - **JSP 2.2**:支持最新的JSP版本。 - **JAX-RS 2.0**:RESTful Web服务的标准API。 - **JPA 2.0**:Java持久化API。 - **EJB 3.1**:企业级Java Bean规范。 #### 二、TongWeb 6.0 服务安装 **2.1 TongWeb 6.0 ...

    Maven-The Complete Reference.pdf

    Maven is released under the Apache License, Version 2.0, which is a permissive free software license written by the Apache Software Foundation. This license allows users to use, modify, and distribute...

    openTCS 5.9中文版用户手册

    openTCS遵循Apache License 2.0,这意味着它是免费的开源软件,允许商业使用、修改和分发。在使用openTCS时,请确保遵守许可证条款。 1.4. **进一步文档** 除了用户手册,openTCS项目还提供了其他文档,如开发者...

    httpd-2.4.57

    如果主板本号的变化(例如1.3→2.0或2.0→2.2)表明编译时和运行时的配置发生了重大变化,需要手动调整,所有模块也需要升级以兼容新版本的模块API 。 小幅度的版本升级(例如:2.2.55→2.2.57)很容易。make install 的...

    2.Linux安全与高级应用

    - **2.x**:主要包括 2.0 和 2.2 两个版本,功能更强大,配置风格与 1.x 存在较大差异。 此外,还提到了 **Nginx**,这是一个与 Apache 类似的高效 Web 服务器,适用于需要高性能的场景。与 Apache 不同的是,Nginx...

    Apache HTTP Server Version 2.2 文档(2013.4.10最新)

    将模块从Apache1.3转化到Apache2.0 Apache 2.0 对请求的处理 Apache 2.0 线程安全问题 经常问到的问题 认证、授权、访问控制 CGI动态页面 .htaccess文件 如何.../指南 用户网站目录 服务器端包含入门 关于DNS和...

    linux www服务器

    Apache项目始于1995年,从最初的NCSA httpd 1.3源码发展而来,历经多个版本迭代,如1.0.0、1.1、1.2、1.3、2.0、2.2等,不断优化性能和增加新功能。 **Apache的运行模式**: Apache提供了两种主要的多处理模块(MPM...

    svn详细安装手册下载

    选择带svnserve的Windows MSI安装包,通常文件名以`.msi`结尾,描述中包含Apache 2.0x和2.2x的绑定。同时,还需要下载TortoiseSVN客户端,这是与Subversion交互的图形界面工具,同样选择最新且适合你系统的32位版本...

    apache commons 常用jar包 commons-validator commons-transaction commons-lang等

    jar包大小:60KB commons-pool-1.3.jar jar包大小:176KB commons-net-1.4.1.jar jar包大小:109KB commons-modeler-2.0.1.jar jar包大小:170KB commons-math-1.1.jar jar包大小:43KB commons-logging-api-1.1.jar jar...

    Struts2.1.6+Spring2.0+Hibernate3.1

    #### 2.2 配置Spring2.0 **2.2.1 添加必要的Jar包** 首先需要在项目中添加Spring框架所需的Jar包。这些包通常包括核心库、AOP库以及其他相关组件。具体到Spring2.0版本,可能需要的Jar包有: - spring-core-2.0.jar...

    Turbine Tutorial

    ### Apache Turbine与Maven教程 #### 一、前言 本教程旨在引导读者了解如何使用Apache Turbine Web框架及Maven构建工具进行快速应用程序开发。通过本教程的学习,目标是帮助初学者跨越入门障碍,熟悉基本操作流程...

Global site tag (gtag.js) - Google Analytics