Nginx 很火,火到無論是創業公司,還是 BAT 等一線網際網路公司,都會使用Nginx。因為它就像一個萬能藥,在任何存在效能需求的場合總能找見它的身影。它可以輕鬆在百萬併發連線下實現高吞吐量的 Web 服務,同時諸多應用場景下的問題都可以透過種種 Nginx 模組得以解決,而我們所需的工作量也並不大。
實戰出真知。
2010 年初,我在思科第一次使用了 Nginx。那時我們的檔案上傳下載服務需要做重構,於是我在調研了 Lighthttpd、Nginx 等開源元件後,決定選擇 Nginx 重構服務。因為我在閱讀完 Nginx 的原始碼後,被其設計哲學、類 Linux 內核的程式碼風格所吸引,且模組設計極其穩定,6 年的快速發展也幾乎未有何變化。
Nginx 天生就適合在 Linux 伺服器上處理百萬、千萬級的併發連線,而優秀的架構使得它未來不需要重構,所以它的生態圈內的第三方模組長期有效。而長年的發展下日益增多的第三方模組進一步賦能 Nginx,使 Nginx 適用於更多的場景,甚至滲透到 LVS 的領域與 F5 這樣的硬體產品競爭!同時,如 OpenResty 或者 Tengine 這樣的第三方模組群,進一步發展出了新生態,使 Nginx 的應用進一步嚮應用防火牆、CDN 等領域擴充套件。
我也經常提醒身邊的朋友,學好 Nginx,可以讓你在工作中獲得立竿見影的效果。
-
如果你是一個前端工程師,在用 Node.js 寫 Web 程式,使用 Nginx 可以讓你高效處理靜態資源檔案;
-
如果你是一個運維工程師,那麼在你有效配置 Nginx 後,可以為公司節省大量的 IT 成本;
-
如果你是一個後端開發工程師,遇到效能瓶頸時,你完全可以使用 Nginx 的第三方模組或 OpenResty 的 Lua 模組,非常高效地解決你的效能瓶頸。
可在我與 Nginx 打交道的近 10 年裡,遇到不少會用卻不善用 Nginx 的開發者,就好比你有一把好劍,可你卻拿它來砍柴,這是一件很可惜的事情。打個比方,高併發導致多個請求過來,有些開發者會用最繁雜的程式來配置轉發,卻不知其中還有更輕便更有技巧性的設定。這種情況的發生,時常會讓自己開發效率極低,且顯得笨拙。
我是誰
我是陶輝,杭州智鏈達資料有限公司擔任 CTO 兼聯合創始人,著有《深入理解 Nginx:模組開發與架構解析》一書。
我決定製作這門課解,是因為我的職業經歷允許我從體系化的視角重新解讀 Nginx。
-
我早年在華為網管軟體中負責網路中介軟體,這讓我對 Nginx 這樣的平臺及中介軟體所應用的開發方法有許多共鳴;
-
後來在騰訊,我開始處理億級使用者海量資料,深度挖掘 Linux 極限效能的過程與 Nginx 非常相似;
-
在思科時,我大量編寫了 Nginx 模組,出版了《深入理解 Nginx:模組開發與架構解析》一書;
-
在阿裡雲,我在 ECS 的最佳化中深入硬體效能的提升,以及對大量伺服器構成的叢集做架構設計,這使得我可以在更深的視角看待 Nginx;
-
在杭州智鏈達資料有限公司,我更關註在如何有限的團隊規模下,使用 Nginx 來保持開發效率,以提供高可用性。
但網路上關於 Nginx 的使用介紹非常多,但往往有兩個問題:
-
僅從如何使用層面介紹,沒有把離散的知識點串成線,這導致大家難以應對未出現過的、個性化的定製場景;
-
沒有成體系的效能最佳化知識介紹,在企業生產環境下我們需要從應用到系統的完整最佳化方案。
因此,我相信在“如何學好 Nginx”這件事上,我可以給你係統的指導,而這十年積累,都濃縮到我在極客時間開設的《Nginx 核心知識 100 講》影片課程中。
透過這門課,你可以學到什麼?
《Nginx 核心知識 100 講》影片課程共 100 講,我將結合多年 Nginx 研發經驗,為你從 HTTP 應用層的視角、分散式叢集的視角、硬體及作業系統核心最佳化的視角為大家解讀 Nginx 的核心知識。我會將 Nginx 的常用知識點、常用模組,在 Nginx 的設計方法論下從請求的處理流程中為大家解讀,幫助大家從 Nginx 的初級使用者成長為高階使用者。
學完這門課,你將徹底明確 Nginx 的能力模型,瞭解 Nginx 的工作原理,清楚怎樣使用 Nginx 搭建出定製化的 Web 伺服器或者微服務叢集的負載均衡服務,並理解什麼樣的 API 服務適合用 Nginx 編寫,同時清楚如何在 Linux 作業系統上最佳化 Nginx,使 Nginx 可以輕鬆應付百萬併發連線。
簡而言之,你將收穫到以下四個方面:
1. 基礎知識詳解及核心架構剖析
2. 搭建支援百萬高併發的 Nginx 服務
3. 從核心最佳化到原始碼解讀的全方位拆解
4. OpenResty + Nginx 開發實戰
只要跟著我學,你就可以把關於 Nginx 的零零散散的知識點串成一條線,再將網路、作業系統、磁碟等知識與 Nginx 相關知識組成一個知識網,從而可以在工作中靈活運用這些知識和技能,使用 Nginx 最大化地利用好伺服器的效能,搭建出更穩定的服務。
訂閱福利
福利一:限時優惠 ¥68,原價 ¥129(半折優惠哦),11 月 17 日恢複原價;
福利二:每邀請一位好友購買,你可獲得 24 元現金返現,多邀多得,上不封頂,隨時提現。(提現流程:極客時間 App – 我的 – 分享有賞);
ps:新增此專欄運營 monica 微訊號:imonica1010,免費獲得此課程的 PDF 課件
如何訂閱
點選「閱讀原文」或下圖海報,即可試看或訂閱此課程。