16
第4章 Web 服务 从互联网诞生到今天虽然只有短短二十年,但是它已经彻底地改变了我们的生活方式和工作方 式。今天我们使用着各种各样的互联网服务,每天收发 E-mail,使用 IM 软件即时交流,但是使用 最多的仍然是浏览网页的 Web 服务。Web 服务器和 Web 浏览器共同成为多姿多彩的互联网世界 的基石。在互联网的世界里,先后出现了很多优秀的开源 Web 服务器,其中最著名的就是 ApacheLighttpd Nginx,接下来我们将为大家逐一介绍。 4.1 Apache 4.1.1 软件简介 软件名称 Apache 主页 http://httpd.apache.org 社区 http://community.apache.org/ 支持公司/社团 Apache 软件基金会 公司/社团简介 Apache 软件基金会(也就是 Apache Software Foundation,简称为 ASF),正式创建 1999 年,是专门为支持开源软件项目而办的一个非盈利性组织 成熟度 A 评价 Apache 是世界上使用排名第一的 Web 服务器软件。它功能丰富,性能优异,并且 可以运行在几乎所有广泛使用的计算机平台上,具有良好的跨平台性和安全性 Apache 简介 1)基本介绍。 Apache HTTP Server(简称 Apache)是 Apache 软件基金会的一个开放源代码的网页服务器软 件。它既可以作为独立的网页服务器运行,提供网站的基础页面服务平台;也可以与其他众多网络 中间件平台集成,共同构成大型网络应用和电子商务平台。它可以运行在几乎所有广泛使用的计算 机平台上,是目前最流行的 Web 服务器端软件之一。Apache 源于 NCSAhttpd 服务器,经过不断的 发展,较前者已有了质的飞跃。Apache 名字取自“a patchy server”的读音,意思是充满补丁的服 务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。 Apache 的特点是简单、速度快、性能稳定,并可做代理服务器来使用。Apache HTTP 网站服 务器拥有牢靠可信的美誉,已经在全球超过半数的网站中被使用,特别是一些最热门和浏览量最大 4

第4章 Web服务 - · PDF fileNginx 8.75%。 尽管如此 ... 官方信息 使用手册 ... 技术支持维护服务 其他 未知 中国 未知 教育培训服务 其他 未知

Embed Size (px)

Citation preview

Page 1: 第4章 Web服务 -  · PDF fileNginx 8.75%。 尽管如此 ... 官方信息 使用手册 ... 技术支持维护服务 其他 未知 中国 未知 教育培训服务 其他 未知

第 4 章 Web 服务 从互联网诞生到今天虽然只有短短二十年,但是它已经彻底地改变了我们的生活方式和工作方

式。今天我们使用着各种各样的互联网服务,每天收发 E-mail,使用 IM 软件即时交流,但是使用

最多的仍然是浏览网页的 Web 服务。Web 服务器和 Web 浏览器共同成为多姿多彩的互联网世界

的基石。在互联网的世界里,先后出现了很多优秀的开源 Web 服务器,其中最著名的就是 Apache、Lighttpd 和 Nginx,接下来我们将为大家逐一介绍。

4.1 Apache

4.1.1 软件简介

软件名称 Apache

主页 http://httpd.apache.org

社区 http://community.apache.org/

支持公司/社团 Apache 软件基金会

公司/社团简介 Apache 软件基金会(也就是 Apache Software Foundation,简称为 ASF),正式创建

于 1999 年,是专门为支持开源软件项目而办的一个非盈利性组织

成熟度 A

评价 Apache 是世界上使用排名第一的 Web 服务器软件。它功能丰富,性能优异,并且

可以运行在几乎所有广泛使用的计算机平台上,具有良好的跨平台性和安全性

Apache 简介 (1)基本介绍。 Apache HTTP Server(简称 Apache)是 Apache 软件基金会的一个开放源代码的网页服务器软

件。它既可以作为独立的网页服务器运行,提供网站的基础页面服务平台;也可以与其他众多网络

中间件平台集成,共同构成大型网络应用和电子商务平台。它可以运行在几乎所有广泛使用的计算

机平台上,是目前最流行的 Web 服务器端软件之一。Apache 源于 NCSAhttpd 服务器,经过不断的

发展,较前者已有了质的飞跃。Apache 名字取自“a patchy server”的读音,意思是充满补丁的服

务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。 Apache 的特点是简单、速度快、性能稳定,并可做代理服务器来使用。Apache HTTP 网站服

务器拥有牢靠可信的美誉,已经在全球超过半数的网站中被使用,特别是一些最热门和浏览量最大

4

Page 2: 第4章 Web服务 -  · PDF fileNginx 8.75%。 尽管如此 ... 官方信息 使用手册 ... 技术支持维护服务 其他 未知 中国 未知 教育培训服务 其他 未知

Web 服务 第 4 章

51

4

Chapter

的网站,比如,维基百科网站服务器就是使用 Apache。 (2)历史。 Apache 起初由伊利诺伊大学香槟分校的国家超级电脑应用中心(NCSA)开发,是由当时最流

行的 HTTP 服务器 NCSA HTTPd 1.3 的代码修改而成的。 1996 年 4 月以来,Apache 一直是 Internet 上最流行的 HTTP 服务器。1999 年 5 月它在 57%的

网页服务器上运行,到了 2005 年 7 月这个比例上升到了 69%。不过,根据 Netcraft 在 2009 年 12月的统计数据,Apache 的市占率已经降为 53.67%,IIS 降为 18.26%,谷歌网页服务器为 13.53%,

Nginx 8.75%。尽管如此,Apache 仍就是当前互联网市场上,市占率最高的网页服务器软件。 Apache 当前最新版是 2.3.12-beta,最新稳定版是 2.2.19,Apache 官网同时还提供 1.3、2.0 系

列的稳定版本供用户下载。

4.1.2 功能特性

1.主要功能

支持最新的 HTTP/1.1 通信协议。 拥有简单而强大的基于文本的配置过程。 支持通用网关接口。 支持基于 IP 和基于域名的虚拟主机。 支持多种方式的 HTTP 认证。 集成 Perl 处理模块。 集成代理服务器模块。 支持实时监视服务器状态和定制服务器日志。 支持服务器端包含指令(SSI)。 支持安全 Socket 层(SSL)。 提供用户会话过程的跟踪。 支持 FastCGI。 通过第三方模块可以支持 Java Servlets 等其他众多扩展功能。 2.技术特点 (1)架构特点。 Apache 2.0 以前的版本是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合

于多处理器环境,因此,在一个 Apache Web 站点扩容时,通常是增加服务器或扩充群集节点而不

是增加处理器。从 Apache 2.0 版本开始已经支持多线程。 (2)模块化。 Apache 支持许多特性,大部分通过编译的模块实现。 (3)支持虚拟主机。 支持 SSL 技术,支持多个虚拟主机。 (4)开放源代码。 使用开源许可协议 Apache License 2.0,该协议和 BSD 类似,同样鼓励代码共享和尊重原作者

的著作权,同样允许代码修改,再发布(作为开源或商业软件)。 (5)本地 Windows NT Unicode 支持。 Apache 2.0 在 Windows NT 上的文件名全部使用 UTF-8 编码。这个操作直接转换成底层的

Page 3: 第4章 Web服务 -  · PDF fileNginx 8.75%。 尽管如此 ... 官方信息 使用手册 ... 技术支持维护服务 其他 未知 中国 未知 教育培训服务 其他 未知

开源软件成熟度评估及选型指南

52

4

Cha

pter

Unicode 文件系统,由此为所有以 WindowsNT 为基础的安装提供了多语言支持。这一支持目前尚

未涵盖 Windows 95/98/ME 系统。 3.运行环境

跨平台,可以在 Linux、BSD、Solaris、Windows、Mac OS X 等多种平台上运行,而且非常安

全性、稳定。 Apache 目前已经演变成“LAMP”软件套件的重要组成部分,即 Linux、Apache、MySQL 和 PHP

的联合体,LAMP 这一 Web 开源平台稳定、易用,体现了很好的性价比,得到了相当广泛应用。

4.1.3 成熟度评估

评估项 软件 Apache

类别 Web 服务 分类 子类别 收集项目

子类别

授权许可协议 - Apache License 2.0 授权 许可

授权许可 是否与 GNU 通用公共授

权许可(GPL)兼容 - 兼容

开发类型 - 社区

主要开发人员名称 - Robert McCool 主 要 开 发

者 主要开发 人员数量 - 1

其 他 开 发

者 其他开发人员数量 - 未知

来源 - NCSA HTTPd 1.3

开发 状况

软件历史 派生 - 否

第一版发布时间 - 1995-04 历史

发行历史 - 16 年

最新版 - 2.3.12-beta

最新稳定版 - 2.2.19

主要版本时间间隔 - 29 个月

(调查范围) 版本跨度 2.1.3-2.3.4(M.M.m)

升级版本时间间隔 - 3 个月

版本信息

(调查间隔) 版本跨度 2.2.10-2.2.19(M.M.m)

版本

支持策略 社区支持版本 -

1.3.x

2.0.x

2.2.x

官方网站的 URL - http://httpd.apache.org/ 官方网站

官方网站的搭建工具 - 否

源代码仓库的 URL - http://svn.apache.org/repos/asf/ httpd/httpd/branches/

交流 工具

源代码库 源代码库的搭建工具 - Subversion

Page 4: 第4章 Web服务 -  · PDF fileNginx 8.75%。 尽管如此 ... 官方信息 使用手册 ... 技术支持维护服务 其他 未知 中国 未知 教育培训服务 其他 未知

Web 服务 第 4 章

53

4

Chapter

续表

评估项 软件 Apache

开发组邮件列表地址 - [email protected]

开发组邮件存档信息页面

的 URL - http://mail-archives.apache.org/ mod_mbox/httpd-dev/

开发组邮件列表搭建工具 - GNU Mailman 开 发 组 邮

件列表

开发组邮件列表的邮件数

量 1 年 3340

用户邮件列表的地址 - [email protected]

用户邮件存档信息页面的

URL -

http://mail-archives.apache.org/ mod_mbox/httpd-users/

用户邮件列表搭建工具 - Mailman

用 户 邮 件

列表

用户邮件列表的邮件数量 1 年 5105

BBS 的 URL - 否

BBS 搭建工具 - 未知 BBS(电子

公 告 板 系

统) BBS 发帖数量 - 未知

BTS 的 URL - https://issues.apache.org/bugzilla/ BTS:漏洞 追踪系统 BTS 搭建工具 - bugzilla

中国 是 本地化 本地化/国际化

总计 15+

Linux - 是

Mac OS - 是

Windows - 是

BSD 列举具体系统名称 FreeBSD

交流 工具

OS:操作 系统支持

UNIX 列举具体系统名称 Solaris

编程语言 编程语言 - C(100.0%)

文件数量 - 951

有评论代码行数量 - 77855 源代码

无评论代码行数量 - 251120

构架 插件支持 - 是

官方设置工具 - 否 GUI 设 置

工具 非官方设置工具 - Apache Commander

官方管理工具 - 否

程序 组成

GUI 管 理

工具 非官方管理工具 - ApacheConf

严重漏洞数量 - 1976 漏洞数量

其他漏洞数量 - 28511

问题修复 修复比率 - 87%

中文 http://lamp.linux.gov.cn/Apache/ApacheMenu/

质量

官方信息 使用手册 英语,其他 http://httpd.apache.org/docs/2.0/en/

Page 5: 第4章 Web服务 -  · PDF fileNginx 8.75%。 尽管如此 ... 官方信息 使用手册 ... 技术支持维护服务 其他 未知 中国 未知 教育培训服务 其他 未知

开源软件成熟度评估及选型指南

54

4

Cha

pter

续表

评估项 软件 Apache

中国 701000 网页数量

全球 18800000

中文 18+ 书籍数量

英文,其他 180+

中国 否

非 官 方 信

用户组 其他 否

质量

获奖 获奖 - 《PC Magazine》2004 年 8 月评出了近 30 年以

来的 10 款最佳软件产品,Apache 排第三名

红帽 Linux - 是

SUSE Linux - 是

Asianux - 是

Turbo Linux - 是

Debian GNU Linux - 是

FreeBSD - 是

Fedora - 是

Ubuntu - 是

作 为 系 统

的 标 准 安

装组件

Solaris - 是

rpm 类型安装包 - 是

deb 类型安装包 - 是

ports 类型安装包 - 是

pkg 类型安装包 - 是

windows 安装包 - 是

组件

安装包

其他类型安装包 - Zip

内 置 于 其

他软件 有内置于其他软件或方案

套件中 - LMAP

中国 未知 技术支持维护服务

其他 未知

中国 未知 教育培训服务

其他 未知

中国 未知

商业 服务

云服务 其他 未知

中国 淘宝网 案例 案例 案例

其他 维基百科网

4.1.4 主要参考资料目录

(1)Apache 服务器官方网站 http://httpd.apache.org

Page 6: 第4章 Web服务 -  · PDF fileNginx 8.75%。 尽管如此 ... 官方信息 使用手册 ... 技术支持维护服务 其他 未知 中国 未知 教育培训服务 其他 未知

Web 服务 第 4 章

55

4

Chapter

(2)Apache 软件基金会官方网站 http://www.apache.org (3)Apache2.2 中文手册 http://apache.blinux.cn (4)详解 Apache 的安装与配置说明 http://technic.xkq.com/20090607/96414.html (5)详解 Apache 的优化设置 http://technic.xkq.com/20090607/96415.html (6)采用 mod_ssl 让 Apache 更加安全 http://www.cangfengzhe.com/wenzhang/article_214.html

4.2 Lighttpd

4.2.1 软件简介

软件名称 Lighttpd

主页 http://www.lighttpd.net/

社区 http://redmine.lighttpd.net/projects/lighttpd/boards

支持公司/社团

公司简介

成熟度 B

评价 该软件具有非常低的内存开销、CPU 低占用率、高效能,以及丰富的模块等

特点,是一个性能非常优异的轻量级开源 Web 服务器软件

Lighttpd 简介 (1)基本介绍。 Lighttpd 是一个德国人领导的开源软件,其根本目的是提供一个专门针对高性能网站的安全、

快速、兼容性好并且灵活的 Web 服务器环境。具有非常低的内存开销,CPU 占用率低,效能好,

以及丰富的模块等特点。Lighttpd 是众多开源轻量级的 Web 服务器中较为优秀的一个。支持

FastCGI,CGI,Auth,输出压缩(Output Compress),URL 重写,Alias 等重要功能,而 Apache 之所以流行,很大程度也是因为功能丰富,在Lighttpd上很多功能都有相应的实现了,这点对于Apache的用户是非常重要的,因为迁移到 Lighttpd 就必须面对这些问题。

(2)历史。 2003 年 2 月,德国人 Jan Kneschke 开发了 Lighttpd,并且添加了对 PHP 的支持。早期的 Lighttpd

性能就已经非常强大,得到了很多人的追捧,但是当时 Lighttpd 并不是很稳定,有时候会突然崩溃掉。 直到 2006 年 Lighttpd 1.4 版本发布以后,才得到了彻底的解决。如今,Lighttpd 已经是一个非

常稳定的 Web 服务器了。 Lighttpd 目前的最新版本是 1.5.0,最新稳定版是 1.4.28。

4.2.2 功能特性

1.基本功能

Lighttpd 是一个性能非常优异的轻量级开源 Web 服务器。Lighttpd 可以轻松支撑上万的并发,

在单台服务器上支撑到 3 万并发也不是问题,并且请求的处理速度也非常快,比 Apache 要快 3~

Page 7: 第4章 Web服务 -  · PDF fileNginx 8.75%。 尽管如此 ... 官方信息 使用手册 ... 技术支持维护服务 其他 未知 中国 未知 教育培训服务 其他 未知

开源软件成熟度评估及选型指南

56

4

Cha

pter

5 倍。Lighttpd 支持 Web 2.0,支持 PHP、Python 和 Ruby 等脚本语言。 2.扩展功能 提供 FastCGI 及 SCGI 的负载平衡。 支持 chroot。 支持 select()/poll()及更有效率的 kqueue/epoll 连接状态判断。 支持条件重写(Conditional Rewrites)。 支持 SSL 连接。 通过 LDAP Server 认证。 rrdtool 状态输出。 基于规则(Rule-based)的下载。 服务器端包含支持。 虚拟主机。 模块化支持。 元数据缓存语言。 最小 WebDAV 支持。 Servlet(AJP)支持(1.5.x 版后)。 3.技术特点 (1)性能出色。 Lighttpd 不同于 Apache 的多进程模型,它采用了 IO 多路复用,还可以在 Linux 平台上使用内

核级别的事件驱动模式,因此,Lighttpd 具有远远高于 Apache 的性能,能够在单台物理服务器上

支撑超过上万个并发连接请求。 (2)FastCGI 支持。 虽然 FastCGI 是一种古老的服务器端技术,但是无论在过去还是现在,它仍然被广泛地使用,

而且被证明是一种经得起考验的技术。最近,随着 PHP、Python 和 Ruby 等互联网动态脚本语言

的崛起,FastCGI 技术咸鱼翻身,得到更多人的关注了。在这种情况下,Apache 的 FastCGI 支持存

在严重的性能缺陷,因而 Lighttpd 就显得特别重要。 (3)功能丰富。 性能能够和 Lighttpd 相提并论的 Web 服务器有很多,但是能够支持如此丰富功能的 Web 服务

器,还能有这么强大的性能,那就只有 Lighttpd 了。目前,Lighttpd 已经可以支持绝大多数 Apache常用的功能,因此只要不是使用了 Apache 比较罕见的功能,都可以从 Apache 顺利迁移到 Lighttpd上面来。

(4)开放源代码。 Lighttpd 是一套开放源代码的网页服务器,以 BSD 许可证发布。 4.运行环境 支持多种平台: Linux(FC3,SuSE,Debian,Gentoo,PLD-Linux,OpenWRT)。 *BSD(FreeBSD,NetBSD,OpenBSD,MacOSX)。 SGIIRIX。 Windows(Cygwin)。

Page 8: 第4章 Web服务 -  · PDF fileNginx 8.75%。 尽管如此 ... 官方信息 使用手册 ... 技术支持维护服务 其他 未知 中国 未知 教育培训服务 其他 未知

Web 服务 第 4 章

57

4

Chapter

Solaris。 AIX。 其他 POSIX 兼容 OS。

4.2.3 成熟度评估

评估项 软件 Lighttpd

类别 Web 服务 分类 子类别 收集项目

子类别

授权许可协议 - BSD License 授权 许可

授权许

可 是否与 GNU 通用公共

授权许可(GPL)兼容 - 是

开发类型 - 社区

主要开发人员名称 - Jan Kneschke 主要开

发者 主要开发 人员数量 - 14+

其他开

发者 其他开发人员数量 - 未知

来源 - 否

开发 状况

软件历

史 派生 - 否

第一版发布时间 - 2003-3-1 历史

发行历史 - 8 年

最新版 - 1.5.0

最新稳定版 - 1.4.28

主要版本时间间隔 - 4 个月

(调查范围) 版本跨度 1.0.2-1.4.2(M.M.m)

升级版本时间间隔 - 2 个月

版本信

(调查间隔) 版本跨度 1.4.0-1.4.27(M.M.m)

版本

支持策

略 社区支持版本 - 所有

官方网站的 URL - http://www.lighttpd.net/ 官方网

站 官方网站的搭建工具 - 未知

源代码仓库的 URL - http://redmine.lighttpd.net/projects/lighttpd/repository 源代码

库 源代码库的搭建工具 - Git

开发组邮件列表地址 - [email protected]

开发组邮件存档信息

页面的 URL - 否

开发组邮件列表搭建

工具 - 否

交流 工具

开发组

邮件列

开发组邮件列表的邮

件数量 1 年 否

Page 9: 第4章 Web服务 -  · PDF fileNginx 8.75%。 尽管如此 ... 官方信息 使用手册 ... 技术支持维护服务 其他 未知 中国 未知 教育培训服务 其他 未知

开源软件成熟度评估及选型指南

58

4

Cha

pter

续表

评估项 软件 Lighttpd

用户邮件列表的地址 - [email protected]

用户邮件存档信息页

面的 URL - http://news.gmane.org/gmane.comp.web.lighttpd

用户邮件列表搭建工

具 - 否 用户邮

件列表

用户邮件列表的邮件

数量 1 年 150

BBS 的 URL - http://redmine.lighttpd.net/projects/lighttpd/boards

BBS 搭建工具 - redmine

BBS( 电 子

公告板

系统) BBS 发帖数量 - 4311

BTS 的 URL - http://redmine.lighttpd.net/projects/lighttpd/issues BTS :

漏洞追

踪系统 BTS 搭建工具 -

redmine

中国 否 本地化 本地化/国际化

总计 英语

Linux - 是

Mac OS - 否

Windows - 是

BSD 列举具体系统名称 OpenBSD

交流 工具

OS:操

作系统

支持

UNIX 列举具体系统名称 Solaris

编程语

言 编程语言 - C(100.0%)

文件数量 - 132

有评论代码行数量 - 7486 源代码

无评论代码行数量 - 39617

构架 插件支持 - 是

官方设置工具 - 无 GUI 设置工

具 非官方设置工具 - LyteCFG

官方管理工具 - 无

程序 组成

GUI 管理工

具 非官方管理工具 - 无

严重漏洞数量 - 87 漏洞数

量 其他漏洞数量 - 2067

问题修

复 修复比率 - 78%

中文 无

质量

官方信

息 使用手册

英语,其他 http://redmine.lighttpd.net/wiki/lighttpd#Documentation

Page 10: 第4章 Web服务 -  · PDF fileNginx 8.75%。 尽管如此 ... 官方信息 使用手册 ... 技术支持维护服务 其他 未知 中国 未知 教育培训服务 其他 未知

Web 服务 第 4 章

59

4

Chapter

续表

评估项 软件 Lighttpd

中国 334000 网页数量

全球 3370000

中文 无 书籍数量

英文,其他 英语

中国 否

非官方

信息

用户组 其他 无

质量

获奖 获奖 - 无

红帽 Linux - 否

SUSE Linux - 是

Asianux - 否

Turbo Linux - 否

Debian GNU Linux - 否

FreeBSD - 否

Fedora - 否

Ubuntu - 否

作为系

统的标

准安装

组件

Solaris - 否

rpm 类型安装包 - 是

deb 类型安装包 - 是

ports 类型安装包 - 否

pkg 类型安装包 - 是

windows 安装包 - 是

组件

安装包

其他类型安装包 - 未知

内置于

其他软

有内置于其他软件或

方案套件中 - 否

中国 否 技术支持维护服务

其他 否

中国 否 教育培训服务

其他 否

中国 否

商业

服务

云服务 其他 否

中国 豆瓣网 案例 案例 案例

其他 YouTube

4.2.4 主要参考资料目录

(1)Lighttpd 的官方网站 http://www.lighttpd.net

Page 11: 第4章 Web服务 -  · PDF fileNginx 8.75%。 尽管如此 ... 官方信息 使用手册 ... 技术支持维护服务 其他 未知 中国 未知 教育培训服务 其他 未知

开源软件成熟度评估及选型指南

60

4

Cha

pter

(2)Lighttpd 的官方博客 http://blog.lighttpd.net (3)Lighttpd 的 wiki http://trac.lighttpd.net (4)Lighttpd 中文官网 http://www.lighttpd.com.cn/

4.3 Nginx

4.3.1 软件简介

软件名称 Nginx

主页 http://www.nginx.org

社区 http://wiki.nginx.org/Community

支持公司/社团

公司简介

成熟度 A

评价 Nginx 因它的稳定性、丰富的功能集、方便的示例配置文件和低系统资源的消耗

而闻名于世

Nginxl 简介 (1)基本介绍。 Nginx 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。

Nginx 起初是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的,它已经在该站点运行

超过四年多了。Igor 将源代码以类 BSD 许可证的形式发布。 自 Nginx 发布四年来,Nginx 以它的稳定性、丰富的功能集、示例配置文件和低系统资源的消

耗而闻名。目前国内许多门户网站已经部署了 Nginx,如新浪、网易、腾讯等;国内几个重要的视

频分享网站也部署了 Nginx,如六房间、酷 6 等。Nginx 软件在国内日趋火热,越来越多的网站开

始使用它作为网站的 Web 服务器。 (2)历史。 Nginx 是俄国人 IgorSysoev 开发的轻量级高性能 Web 服务器。 第一版发布于 2004 年 10 月 4 日,到 2007 年 3 月,俄国超过 20%的虚拟主机业务已经运行在

Nginx 上面了。特别是最近两年来,Nginx 得到了高速的发展,目前 Nginx 在全球互联网的装机量

大概接近 Lighttpd 的一半。 Nginx 的 1.0.0 稳定版已发布,开发版本为 0.9.x,稳定版为 0.8.x,历史稳定版为 0.7.x,建议

使用 0.8 系列作为生产版本。

4.3.2 功能特性

1.基本功能 处理静态文件,索引文件以及自动索引。 反向代理加速(无缓存),简单的负载均衡和容错。 FastCGI,简单的负载均衡和容错。

Page 12: 第4章 Web服务 -  · PDF fileNginx 8.75%。 尽管如此 ... 官方信息 使用手册 ... 技术支持维护服务 其他 未知 中国 未知 教育培训服务 其他 未知

Web 服务 第 4 章

61

4

Chapter

模块化的结构,过滤器包括 Gzipping,Byte Ranges,Chunked Responses,以及 SSI-过滤

器,在 SSI 过滤器中,到同一个 Proxy 或者 FastCGI 的多个子请求并发处理。 SSL 和 TLS SNI 支持。 IMAP/POP3 代理服务功能。 使用外部 HTTP 认证服务器重定向用户到 IMAP/POP3 后端。 使用外部 HTTP 认证服务器认证用户后连接重定向到内部的 SMTP 后端。 2.扩展功能 (1)HTTP 扩展功能。 基于 IP 和名称的虚拟主机服务。 Memcached 的 GET 接口。 支持 keep-alive 和管道连接。 灵活简单的配置。 重新配置和在线升级而无须中断客户的工作进程。 可定制的访问日志,日志写入缓存,以及快捷的日志回卷。 4xx-5xx 错误代码重定向。 基于 PCRE 的 Rewrite 重写模块。 基于客户端 IP 地址和 HTTP 基本认证的访问控制。 PUT,DELETE 和 MKCOL 方法。 支持 FLV(Flash 视频)。 带宽限制。 (2)IMAP/POP3 代理服务功能。 使用外部 HTTP 认证服务器重定向用户到 IMAP/POP3 后端。 使用外部 HTTP 认证服务器认证用户后连接重定向到内部的 SMTP 后端。 认证方法。 POP3:POP3 USER/PASS, APOP, AUTH LOGIN PLAIN CRAM-MD5。 IMAP:IMAP LOGIN。 SMTP:AUTH LOGIN PLAIN CRAM-MD5。 SSL 支持。 在 IMAP 和 POP3 模式下的 STARTTLS 和 STLS 支持。 3.技术特点 (1)高性能。 在高连接并发的情况下,Nginx 是 Apache 服务器不错的替代品。Nginx 在美国是做虚拟主机

生意的老板们经常选择的软件平台之一。能够支持高达 50000 个并发连接数的响应。据工作人员简

单的压力测试,Nginx大致要比Lighttpd 快 10%~15%左右,并且CPU和内存的消耗还要比Lighttpd低一些。

(2)结构简单。 Nginx 的功能没有 Lighttpd 那么丰富,配置也没有 Lighttpd 那么多,是一个结构非常简单的

Web 服务器,源代码也只有 8000 多行。但正因为这种简单性,Nginx 安装和配置都特别容易,不

需要特别地学习和掌握,就可以轻松架设一个性能非常高的 Web 服务器了。

Page 13: 第4章 Web服务 -  · PDF fileNginx 8.75%。 尽管如此 ... 官方信息 使用手册 ... 技术支持维护服务 其他 未知 中国 未知 教育培训服务 其他 未知

开源软件成熟度评估及选型指南

62

4

Cha

pter

(3)比较适合支持 Proxy。 和 Lighttpd 相比,Nginx 的 Proxy 功能要比 Lighttpd 更加优秀,而 Lighttpd 的 FastCGI 支持则

更加优秀。在 Lighttpd 和 Nginx 之间选择的话,如果你需要 Proxy 功能就可以选择 Nginx,如果需

要 FastCGI 功能,就可以选择 Lighttpd。 (4)跨平台支持。 Nginx 可以在大多数类 Unix OS 上编译运行,并有 Windows 移植版。 (5)开放源代码。 Nginx 采用类 BSD 许可协议,作为开源项目,用户可以按照需求进行扩展和定制。 4.运行环境 支持的操作系统: FreeBSD 3.x, 4.x, 5.x, 6.x i386;FreeBSD 5.x, 6.x amd64。 Linux 2.2, 2.4, 2.6 i386;Linux 2.6 amd64。 Solaris 8 i386;Solaris 9 i386 and sun4u;Solaris 10 i386。 MacOS X(10.4)PPC。 Windows XP 和 Windows Server 2003 中。 模块依赖性 Gzip 模块需要 Zlib 库。 Ewrite 模块需要 Pcre。 Ssl 功能需要 Openssl 库。 预先编译好的安装包 Nginx 在一些 Linux 发行版和 BSD 的各个变种版本的安装包仓库中都有提供,通过各个系统

自带的软件包管理方法即可安装。但是,很多预先编译好的安装包都比较陈旧,大多数情况下还是

推荐直接从源码编译。

4.3.3 成熟度评估

评估项 软件 Nginx

类别 Web 服务 分类 子类别 收集项目

子类别

授权许可协议 - 类 BSD License 授权 许可

授权许可 是否与 GNU 通用公共授

权许可(GPL)兼容 - 否

开发类型 - 社区

主要开发人员名称 - Igor Sysoev 主要开发者

主要开发人员数量 - 1

其他开发者 其他开发人员数量 - 无

来源 - 无

开发 状况

软件历史 派生 - 无

Page 14: 第4章 Web服务 -  · PDF fileNginx 8.75%。 尽管如此 ... 官方信息 使用手册 ... 技术支持维护服务 其他 未知 中国 未知 教育培训服务 其他 未知

Web 服务 第 4 章

63

4

Chapter

续表

评估项 软件 Nginx

第一版发布时间 - 2004-10-04 历史

发行历史 - 7 年

最新版 - 1.0.2

最新稳定版 - 1.0.2

主要版本时间间隔 - 5 个月

(调查范围) 版本跨度 0.1.0-0.5.0(M.M.m)

升级版本时间间隔 - 1 个月

版本信息

(调查间隔) 版本跨度 0.5.0-0.5.38 (M.M.m)

版本

支持策略 社区支持版本 - 无

官方网站的 URL - http://www.nginx.org 官方网站

官方网站的搭建工具 - nginx

源代码仓库的 URL - http://nginx.org/en/download.html 源代码库

源代码库的搭建工具 - nginx

开发组邮件列表地址 - [email protected]

开发组邮件存档信息页面

的 URL - http://nginx.org/pipermail/nginx-devel/

开发组邮件列表搭建工具 - MailMan 开发组邮件

列表

开发组邮件列表的邮件数

量 1 年 708

用户邮件列表的地址 - [email protected]

用户邮件存档信息页面的

URL - http://nginx.org/pipermail/nginx/

用户邮件列表搭建工具 - MailMan

用户邮件列

用户邮件列表的邮件数量 1 年 6790

BBS 的 URL - http://wiki.nginx.org/Community

BBS 搭建工具 - 未知 BBS(电子 公告板系 统) BBS 发帖数量 - 未知

BTS 的 URL - 否 BTS:漏洞

追踪系统 BTS 搭建工具 - 未知

中国 否 本地化 本地化/国际化

总计 4

Linux - 支持

Mac OS - 支持

Windows - 支持

BSD 列举具体系统名称 FreeBSD

交流 工具

OS:操作系

统支持

UNIX 列举具体系统名称 Solaris

Page 15: 第4章 Web服务 -  · PDF fileNginx 8.75%。 尽管如此 ... 官方信息 使用手册 ... 技术支持维护服务 其他 未知 中国 未知 教育培训服务 其他 未知

开源软件成熟度评估及选型指南

64

4

Cha

pter

续表

评估项 软件 Nginx

编程语言 编程语言 - C(100.0%)

文件数量 - 238

有评论代码行数量 - 5585 源代码

无评论代码行数量 - 82795

构架 插件支持 - 支持

官方设置工具 - 无 GUI 设置 工具 非官方设置工具 - StarLee

官方管理工具 - 无

程序 组成

GUI 管理 工具 非官方管理工具 - StarLee

严重漏洞数量 - 未知 漏洞数量

其他漏洞数量 - 未知

问题修复 修复比率 - 未知

中文 无 官方信息 使用手册

英语,其他 http://nginx.org/en/docs/

中国 1100000 网页数量

全球 5090000

中文 1+ 书籍数量

英文,其他 2+

中国 无

非官方信息

用户组 其他 无

质量

获奖 获奖 - 未知

红帽 Linux - 否

SUSE Linux - 否

Asianux - 否

Turbo Linux - 否

Debian GNU Linux - 否

FreeBSD - 否

Fedora - 否

Ubuntu - 否

作为系统的

标准安装组

Solaris - 否

rpm 类型安装包 - 是

deb 类型安装包 - 是

ports 类型安装包 - 是

pkg 类型安装包 - 是

windows 安装包 - 是

组件

安装包

其他类型安装包 - ?

Page 16: 第4章 Web服务 -  · PDF fileNginx 8.75%。 尽管如此 ... 官方信息 使用手册 ... 技术支持维护服务 其他 未知 中国 未知 教育培训服务 其他 未知

Web 服务 第 4 章

65

4

Chapter

续表

评估项 软件 Nginx

内置于其他

软件 有内置于其他软件或方案

套件中 - 否

中国 否 技术支持维护服务

其他 否

中国 否 教育培训服务

其他 否

中国 否

商业 服务

云服务 其他 否

中国 六间房 案例 案例 案例

其他 YouTube

4.3.4 主要参考资料目录

(1)Nginx 官方首页(英语)http://nginx.org/ (2)Nginx 中文网 http://www.nginxcn.com/ (3)Nginx 中文文档 http://www.nginxcn.com/doc (4)Nginx 各版本源代码和 Win32 Binaries http://sysoev.ru/nginx/download.html (5)Nginx 0.8.x + PHP 5.2.13(FastCGI)搭建胜过 Apache 十倍的 Web 服务器 http://blog.s135.com/nginx_php_v6/ (6)Nginx 模块开发备忘 http://www.dup2.org/files/nginx_module_development.html (7)Nginx source code cross-reference http://lxr.evanmiller.org/