Nginx版本发布策略

2019年5月21号,Nginx发布了 1.17.0 版本(Mainline),它是 Nginx 目前最新的版本号,也是 1.17 开发分支的初始版本。1.17.0 版本基于 Nginx 1.16.0 release(4月份发布)。

如果不太了解 Nginx 版本发布策略,看了上面这段话会很晕,所以有必要了解一下,从而更好的使用它。

在 Nginx 中,有两种分支,分别是 mainline 和 stable。

  • Mainline 相当于开发分支,更新比较活跃,包含引入一些新的功能或者bug修复,版本号的第二个数字如果是基数,那就是 Mainline 版本,比如 1.17.0。
  • Stable 分支很容易理解,就是相对稳定的版本,除非有重大Bug,否则在它的生命周期内不会更新,版本号的第二个数字如果是偶数,那就是 Mainline 版本,比如 1.16.0。

stable 版本代表功能多少和更新频率,和软件质量没有太大的关系(当然任何软件都会有Bug),在每年4月份会发布一次,它的生命周期是一年,在这段时间内,一般情况不会更新版本号(除非有重大Bug)。

4月份 stable 版本的发布带来两个重大的事件:

1:mainline 目前(4月份之前)版本(即 1.15.12)fork出 1.16.0 stable 版本,1.16.0 版本(上一个版本是 1.14)包含了 1.15 版本的所有更新。记住,直到 mainline 下一个版本发布,否则 1.16.0 和 1.17.0 之间没有太大的差别。

2:一旦 mainline 最新版本发布,版本号会有一个跳跃,版本的第二个数字从 15 变为 17,一般情况下,4-6周会更新一次 mainline 版本,1.17 版的初始版本就是 1.17.0。

一图胜前言,Nginx 官方画了一张图,描述版本之间关系:

Nginx版本发布策略_第1张图片
1.jpg

Nginx Plus 是 Nginx 的商业产品,其版本发布策略是如何的呢?它是一个独立仓库,它总是基于 Nginx mainline 的最新版本,同时合并 Nginx Plus 的闭源功能,目前 Nginx Plus 版本是 R18,基于 Nginx 1.15.10(不是 1.15.12)。

对于我们使用者来说,应该选择 mainline 还是 stable 版本呢?由于 Web 技术更新迭代比较快,官方建议使用最新的 mainline 版本,因为有更多的新功能,性能也更好,同时 mainline 也是经过 Nginx QA 团队严格测试的,另外 Nginx Plus 付费产品也基于 mainline 发布,所以质量其实是有保证的。

但如果你是个谨慎,严谨的开发者,那么 stable 版本可能更适合你,因为要真的出现 Bug,调试带来的代价可能非常大。

Nginx 相关文章:

  • 【意译】Nginx承诺继续贡献开源
  • Nginx官方对于收购的解读
  • nginx的rewrite理解起来也挺费劲
  • 如何通过nginx、php-fpm、php的日志调试程序
  • 代理服务器和Web服务器通信中的504问题
  • 502错误,让你进一步明白nginx和php-fpm之间的关系
Nginx版本发布策略_第2张图片
欢迎关注我的公众号

你可能感兴趣的:(Nginx版本发布策略)