Chinaunix首页 | 论坛 | 博客
  • 博客访问: 235191
  • 博文数量: 52
  • 博客积分: 3010
  • 博客等级: 中校
  • 技术积分: 731
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-25 17:46
文章分类
文章存档

2009年(13)

2008年(39)

我的朋友

分类: 系统运维

2008-12-05 12:24:41

  我们可以从apache的官方网站 上知道 Apache2.2.10已经于2008年10月14日发布,关于其详细介绍请看官方网站。由于时间原因,我们介绍Apache1.3,然后就Apache2.0详细介绍。至于Apache从1.3升级到Apache2.0并不是那么容易,我们必须了解1.3和2.0之后,才有可能实现。
Apache 新特性
1.Apache 1.3 的性能
选择Web服务器时,其功能和运行性能是最重要的因素。Apache 的众多特性保证了它
可以高效而且稳定的运行。其性能主要表现在如下几个方面:
Ø 实现了动态共享对象(DSO),允许在运行时动态装载功能模块。
Ø 采用预生成模式的技术提高响应速度。
Ø 可以运行在几乎所有计算机平台。
Ø 支持最新的HTTP 1.1 协议。
Ø 简单而强有力的基于文件的配置。
Ø 支持虚拟主机。
Ø 支持HTTP认证。
Ø 集成了代理服务器。
Ø 具有可定制的服务器日志。
Ø 支持安全Socket层(SSL)。
Ø 用户会话过程的跟踪能力。
Ø 支持通用网关接口CGI。
Ø 集成Perl脚本编程语言。
Ø 支持服务器端包含命令(SSI)。
Ø 支持FastCGI。
Ø 支持PHP。
Ø 支持Java Servlets。
Ø 支持第三方软件开发商提供的大量功能模块。
2.Apache 2.0 的新特性
Apache 2.0 具备Apache 1.3 的几乎所有特性。除此之外,Apache 2.0 添加了附加功能层,最基本的组件是可移植运行环境(Apache Portable Runtime,APR),它提高了Apache的跨平台性能。另外,Apache 2.0使用新的多处理模块(Multi-Processing Module,MPM),使用此模块会在服务器处理多个请求时,控制Apache 的运行方式。Apache 中的3 种运行方式分别是:
Ø 预派生(Profork)MPM:此模块在功能上兼容于Apache 1.3的运行模型。这种运行方式首先启动一个父进程,然后创建并启动一定(可配置)数量的子进程监听客户的请求。当监听到客户的服务请求后,子进程就响应此请求。重要的是父进程始终监控子进程,当没有足够的空闲子进程为客户服务时,父进程就会创建并运行新的子进程准备为客户提供服务;如果存在过多的空闲子进程,父进程就会依次终止这些空闲的进程,直到服务器回到最大空闲子进程(可配置)数量之下。通过始终保持一定数量的空闲子进程来响应客户的请求,服务器可以避免在接收到客户请求时启动新进程的开销。
Ø 工作者(Worker)MPM:此模块是混合使用进程和线程的运行模型。这种运行方式首先启动一个父进程,然后创建并启动一定(可配置)数量的子进程,每个子进程都创建并启动相同数量的线程,由线程监听客户请求,而子进程并不监听客户请求。重要的是父进程始终监控子进程,当没有足够的空闲线程为客户服务时,父进程就会创建并运行新的子进程,并在子进程中创建与先前子进程创建的相同数量的线程准备为客户提供服务。这种运行方式是以牺牲可靠性和健壮性来换取可扩展性的。
Ø 独立子进程(Perchild)MPM:这是一种运行于类UNIX 系统上的运行模式,它
也是混合使用进程和线程的运行模型。这种运行模式与工作者MPM 类似,只是每个子进程创建的线程数量可以不一致,即每个子进程都可以创建指定数量(可配置)的线程。当服务器上负载增加后,Apache不会创建新的子进程,而是在当前的子进程之一上创建新的线程为客户提供服务。这种运行方式具有最高的可扩展性,但却具有最低的可靠性。
Apache 2.0 新特性
与Apache 1.3类似,Apache 2.0仍旧使用模块的方式运行。Apache 由内核、标准模块和第三方提供的模块3 个层次组成。表7.2 列出了Apache 2.0 的标准模块。
表7-2 Apache 2.0的标准模块如下:
Core Apache HTTP服务器核心模块
mpm_common 被MPM 执行的一组指令
mpm_netware 专为Novell NetWare 服务器优化的MPM模块
mpm_winnt 专为Windows NT 优化的MPM
Perchild 独立子进程(Perchild)运行方式的MPM
Prefork 预派生(Profork)运行方式的MPM
Worker 工作者(Worker)运行方式的MPM
mod_access 提供基于主机名、IP地址或者其他客户请求的访问控制
mod_actions 模块为基于媒体类型请求方式执行CGI 脚本
mod_alias 提供文档树中主机文件系统各部分的映射和URL 重定向
mod_asis 传送包含只有HTTP头的文件
mod_auth 使用文本文件的用户身份验证
mod_auth_anon 允许匿名用户访问身份验证
mod_auth_dbm 提供使用DBM数据库文件的用户身份验证
mod_auth_digest 使用MD5 深层身份验证的用户身份验证
mod_autoindex 自动生成类似于Unix的ls 命令或Win32 dir shell命令的目录索引
mod_cache 通向URI的内容cache
mod_cern_meta CERN httpd 原文件语意
mod_cgi 执行CGI 脚本(用于进程方式的MPM)
mod_cgid 执行CGI 脚本(用于线程方式的MPM)
mod_charset_lite 设定翻译和重编码的特别字符
mod_dav 实现分布式授权和版本发行(DAV)功能
mod_deflate 传送至客户端前进行内容压缩
mod_dir 提供用于“trailing slash”重定向和服务的目录索引文件
mod_echo 解释协议模块的简单映射服务器
mod_env 调整传送给CGI脚本和SSI页的环境
mod_example 解释Apache模块的API
mod_expires 根据用户限定标准生成到期的HTTP头
mod_ext_filter 在传达给客户之前通过外部程序发出回应体
mod_file_cache 在内存中缓存一个文件静态列表
mod_headers HTTP请求和回应头的个性化处理
mod_imap 服务器端镜像处理
mod_include 支持SSI
mod_info 生成服务器配置信息
mod_isapi Apache中为Windows 提供的ISAPI扩展
mod_log_config 记录发向服务器的请求日志
mod_mime
联合被请求文件扩展名和文件行为(处理和筛选)的内容(mime类型,语言,字
符集和编码)
mod_mime_magic 通过查看文件内容的几个字节确定MIME 类型
mod_negotiation 提供内容协商
mod_proxy 支持HTTP/1.1协议的代理/网关服务器
mod_rewrite 提供URL 请求的复杂重定向功能
mod_setenvif 允许基于请求类型的环境变量设置
mod_so 在启动或重启时提供可执行编码和模块的启动
mod_speling 试图更正因用户忽略大小写或一处错误拼写而引起的错误URL
mod_ssl 使用SSL 和TLS的密码技术
mod_status 提供服务器运行性能信息
mod_suexec 允许作为特殊用户或组运行CGI脚本
mod_unique_id 为每个请求提供具有单一身份的环境变量
mod_userdir 设置基于每个用户的站点目录
mod_usertrack 跟踪用户在访问一个站点时的行为,记入日志
mod_vhost_alias 提供大量虚拟主机的动态配置
除了标准模块之外,还可以找到许多第三方模块。用户可以连接如下网址查看有关第
三方模块的信息:
阅读(1538) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~