NGINX 简介

内容纲要

查看「NGINX 专题」获取更多相关内容


简介

NGINX 官网

NGINX (Engine x) 是 HTTP 和反向代理服务器、邮件代理服务器和通用 TCP/UDP 代理服务器,最初由 Igor Sysoev 编写。

NGINX 拥有开源免费的 NGINX 和闭源商业的 NGINX Plus 两个版本,前者的官网后缀为 .org 而后者的是 .com。对于后者,NGINX Plus 在其官网有一个对比开源版的页面:compare-versions

值得一提的是,章亦春Openresty (也分开源版和商业版) 和阿里巴巴的 Tengine 都是基于 NGINX 的优秀 Web 平台。

NGINX 相关文档:

选择版本

NGINX 下载

NGINX 开放源码有两个版本:

  • Mainline (主线) - 版本号的第二个数字为奇数。包括最新的功能和错误修复,并且始终是最新的。它是可靠的,但它可能包括一些实验性的模块,它也可能有一些新的错误。
  • Stable (稳定) - 版本号的第二个数字为偶数。不包括所有最新的功能,但具有关键的错误修复,这些错误修复总是向后移植到主线版本。

在 NGINX 中「Stable」一词指的是功能和更新频率,它与软件质量无关。Stable 分支在其生命周期内从不接收新功能,通常只接收一到两次更新,用于修复关键的错误。而 Mainline 分支中开发新特性和修复所有错误。

到底选择「Mainline」还是「Stable」其实是比较矛盾或者说模糊的,例如 NGINX.com 博客上的 NGINX 1.6 和 1.7 发布 一文中关于的版本选择有提到:

「在 NGINX 命名法中,「Stable」意味着没有添加新功能(功能集是稳定的)。只有主要的错误修复被提交到该版本。
请注意,稳定并不意味着更可靠或更没有错误。事实上,「mainline」通常被认为更可靠,因为我们将所有错误修复都移植到它,而不仅仅是稳定分支的关键修复。另一方面,稳定分支中的更改不太可能影响第三方模块。我们不会对主线做出同样的承诺,因为新功能会影响第三方模块的运行。
我们建议您通常始终部署 NGINX 「mainline」分支。使用「stable」分支的主要原因是您担心新功能可能产生的影响,例如与第三方模块的不兼容或新功能中无意引入的错误。」

但在 NGINX Plus 的文档中又说明:

「我们建议生产服务器使用稳定版本。」

所以这是一个没有绝对正确答案的问题,请自行抉择吧。