2019年5月21號,Nginx發(fā)布了 1.17.0 版本(Mainline)趟据,它是 Nginx 目前最新的版本號券犁,也是 1.17 開發(fā)分支的初始版本。1.17.0 版本基于 Nginx 1.16.0 release(4月份發(fā)布)汹碱。
如果不太了解 Nginx 版本發(fā)布策略族操,看了上面這段話會很暈,所以有必要了解一下比被,從而更好的使用它色难。
在 Nginx 中,有兩種分支等缀,分別是 mainline 和 stable枷莉。
- Mainline 相當于開發(fā)分支,更新比較活躍尺迂,包含引入一些新的功能或者bug修復笤妙,版本號的第二個數(shù)字如果是基數(shù),那就是 Mainline 版本噪裕,比如 1.17.0蹲盘。
- Stable 分支很容易理解,就是相對穩(wěn)定的版本膳音,除非有重大Bug召衔,否則在它的生命周期內不會更新,版本號的第二個數(shù)字如果是偶數(shù)祭陷,那就是 Mainline 版本苍凛,比如 1.16.0。
stable 版本代表功能多少和更新頻率兵志,和軟件質量沒有太大的關系(當然任何軟件都會有Bug)醇蝴,在每年4月份會發(fā)布一次,它的生命周期是一年想罕,在這段時間內悠栓,一般情況不會更新版本號(除非有重大Bug)。
4月份 stable 版本的發(fā)布帶來兩個重大的事件:
1:mainline 目前(4月份之前)版本(即 1.15.12)fork出 1.16.0 stable 版本按价,1.16.0 版本(上一個版本是 1.14)包含了 1.15 版本的所有更新惭适。記住,直到 mainline 下一個版本發(fā)布俘枫,否則 1.16.0 和 1.17.0 之間沒有太大的差別腥沽。
2:一旦 mainline 最新版本發(fā)布,版本號會有一個跳躍鸠蚪,版本的第二個數(shù)字從 15 變?yōu)?17今阳,一般情況下师溅,4-6周會更新一次 mainline 版本,1.17 版的初始版本就是 1.17.0盾舌。
一圖勝前言墓臭,Nginx 官方畫了一張圖,描述版本之間關系:
Nginx Plus 是 Nginx 的商業(yè)產品妖谴,其版本發(fā)布策略是如何的呢窿锉?它是一個獨立倉庫,它總是基于 Nginx mainline 的最新版本膝舅,同時合并 Nginx Plus 的閉源功能嗡载,目前 Nginx Plus 版本是 R18,基于 Nginx 1.15.10(不是 1.15.12)仍稀。
對于我們使用者來說洼滚,應該選擇 mainline 還是 stable 版本呢?由于 Web 技術更新迭代比較快技潘,官方建議使用最新的 mainline 版本遥巴,因為有更多的新功能,性能也更好享幽,同時 mainline 也是經過 Nginx QA 團隊嚴格測試的铲掐,另外 Nginx Plus 付費產品也基于 mainline 發(fā)布,所以質量其實是有保證的值桩。
但如果你是個謹慎摆霉,嚴謹?shù)拈_發(fā)者,那么 stable 版本可能更適合你颠毙,因為要真的出現(xiàn) Bug斯入,調試帶來的代價可能非常大。
Nginx 相關文章: