如果您运行 Web 服务器并且可以独立于 Web 主机选择 Web 服务器平台,Web 主机通常会让您选择 Apache HTTP Server 或 Microsoft IIS(Internet 信息服务),那么您应该考虑 nginx。

Nginx 对于 Web 服务器人员来说相对较新,但它发展迅速并引起了很多关注。与 1995 年首次出现的 Apache 不同,nginx 最早由俄罗斯搜索引擎公司 Rambler Media 的高级系统管理员 Igor Sysoev 在 2004 年编写并发布。

好处

和Apache一样,nginx(发音为“EngineX”)是免费可用和开源的,但与Apache不同的是,它占用的空间要小得多.也就是说,不仅它的可执行文件比 Apache 小得多,而且它使用的计算机内存 (RAM) 也更少。

Apache 非常强大,随着对各种事物的需求的不断涌入,多年来它的功能集也在不断发展。然而,大多数人甚至公司只需要这些功能的一小部分核心。 Nginx 具有更受限制的功能集,并试图很好地(快速地)执行这些功能。

这并不是说 nginx 有缺陷。它执行大部分(或全部取决于您与谁交谈)重要的 Web 服务器功能,包括:虚拟主机、SSL/TLS 加密、访问控制、服务器端包含、URL 重写、FastCGI 和自定义日志记录。此外,nginx 还进行负载均衡和反向代理,可以用来实现一些复杂高效的web服务器架构。

你会发现大部分的nginx和Apache的对比都认为nginx的性能更好,但是为什么呢?许多人指出了它处理传入请求的不同方式。 Apache 使用多线程或面向进程的方法,而 nginx 使用异步事件驱动的架构。最深入的“同类”测试表明,nginx 使用的内存比 Apache 少得多,尤其是在提供静态 HTML 页面时。

但公平地说,经过良好调优的 Apache 安装仍然可以表现良好,而且显然 59% 的网站所有者倾向于同意这一点。

潜在的缺点

在急于用 nginx 替换 Apache 服务器之前,请退一步考虑一些潜在的陷阱。首先,nginx 不是 Apache 的替代品。您将需要学习一种新的配置语法以及它如何构建文件和虚拟主机。

作为一个较新的软件,它的流行度、文档和强大的社区支持是Apache无法匹敌的。这并不是说缺少它,但您可能需要花更多时间寻找更深奥问题的答案。

作为对流行评论的反驳,nginx 的增长非常迅速,根据统计跟踪器 Netcraft,截至 2011 年 1 月,nginx 的使用量占所有网站的 7.5%。仅 2009 年 nginx 添加的现有网站数量,即 1290 万个新网站。

nginx 的另一个缺点是您找不到太多的网络主机将其作为网络服务器选项提供,但您可能必须使用 VPS(虚拟专用服务器)或专用服务器解决方案,然后再租用经验丰富的系统管理员或自己学习。

但是,如果您有时间,从长远来看,学习和切换 nginx 实际上可以为您省钱,特别是如果这样做可以节省内存和 CPU 要求,从而减少服务器大小。

即使您不切换,也请花点时间阅读并熟悉 nginx,并且知道 Apache 不是唯一的游戏,您可以选择 Web 服务器。