認識NGINX

更新於 發佈於 閱讀時間約 3 分鐘

什麼是NGINX

﹝NGINX﹞是一款免費開源軟體非同步框架的Web Server,該軟體由俄羅斯程式設計師伊戈爾·賽索耶夫(Игорь Сысоев)開發並於2004年首次公開發布。2011年成立同名公司以提供支援服務。2019年3月11日,Nginx公司被F5網路公司以6.7億美元收購。

Nginx是免費的開源軟體,根據類BSD授權條款的條款釋出,並且是以其性能、穩定性、豐富的功能集、簡單的配置和低資源消耗而聞名。

很多高知名度的網站都使用 Nginx,比如:Netflix , GitHub , SoundCloud , MaxCDN 等。

NGINX主要用途:

主要應用於:
a. 正向代理(Forward Proxy)
b. 反向代理(Reverse Proxy)
c. 負載平衡(Load Balancing)
d. HTTP伺服器(HTTP Server)
e. 郵件伺服器(Mail Server)

NGINX優勢:

a. 隱藏Client端或Server端真實IP。
b. 負載平衡(Load Balancing)。
c. 在處理IO高併發時,﹝NGINX﹞能保持低資源低消耗高效能。
d. 支援靜態內容,提高網頁的訪問速度。
e. 簡潔的配置模組。
f. 支持熱佈署。

NGINX劣勢:

a. ﹝NGINX﹞提升效能的代價就是降低了靈活性,動靜態模組的編譯並非都能與系統相容。
b. ﹝NGINX﹞僅能支持http、https和Email協議,因此適用範圍較小。
c. ﹝NGINX﹞對後端服務器的健康檢查,只支持通過Port來檢測,不支持通過URL來檢測,不支持Session的直接保持,但能通過ip_hash來解決。

NGINX模組:

舊版本的Nginx的模組是靜態的,添加和刪除模組都要對Nginx進行重新編譯,1.9.11以及更新的版本已經支援動態模組載入。

NGINX架構:

﹝NGINX﹞低消耗高效能的原由,正來至於它優秀的架構設計,其架構主要包括:『模組化設計』、『事件驅動架構』、『請求多階段非同步處理』、『管理程式與多工程式設計』、『記憶體池設計』,以上內容後續會慢慢進行說明。

參考資料:
a. Nginx維基百科
b. Nginx技術手札:網頁伺服器應用全攻略

留言
avatar-img
留言分享你的想法!
avatar-img
Scott Salon
15會員
27內容數
技術筆記紀錄、生活隨筆
Scott Salon的其他內容
2022/07/08
承上篇【NGINX 架構 - 事件驅動架構】後續,這篇開始記錄函數庫的相關筆記 事件驅動處理函數庫: 函數庫的細節,就沒打算太過深入,我們只要知道模型的運作方式、優缺點及如何使用就足夠了。 1. select模型: 手動啟用模組編譯: 禁用模組編譯: 2. poll模型: Nginx編譯代碼:
Thumbnail
2022/07/08
承上篇【NGINX 架構 - 事件驅動架構】後續,這篇開始記錄函數庫的相關筆記 事件驅動處理函數庫: 函數庫的細節,就沒打算太過深入,我們只要知道模型的運作方式、優缺點及如何使用就足夠了。 1. select模型: 手動啟用模組編譯: 禁用模組編譯: 2. poll模型: Nginx編譯代碼:
Thumbnail
2022/06/30
上一篇有講完【NGINX 架構 - 《模組化設計》】後,接下來這邊透過自己的理解,來專門介紹『事件趨動架構』,以此來幫助自己認識NGINX架構的內容。 什麼是「事件驅動架構」 而這邊指的事件驅動架構是一種程式設計的方式 - 事件驅動程式設計(Event-driven programming)
Thumbnail
2022/06/30
上一篇有講完【NGINX 架構 - 《模組化設計》】後,接下來這邊透過自己的理解,來專門介紹『事件趨動架構』,以此來幫助自己認識NGINX架構的內容。 什麼是「事件驅動架構」 而這邊指的事件驅動架構是一種程式設計的方式 - 事件驅動程式設計(Event-driven programming)
Thumbnail
2022/06/23
上一篇有提到﹝NGINX﹞低消耗高效能的原由,正來至於它優秀的架構設計,其架構主要包括:『模組化設計』、『事件驅動架構』、『請求多階段非同步處理』、『管理程式與多工程式設計』、『記憶體池設計』。 而這邊透過自己的理解,來專門介紹『模組化設計』,以此來幫助自己認識NGINX架構的內容。 核心模組:
Thumbnail
2022/06/23
上一篇有提到﹝NGINX﹞低消耗高效能的原由,正來至於它優秀的架構設計,其架構主要包括:『模組化設計』、『事件驅動架構』、『請求多階段非同步處理』、『管理程式與多工程式設計』、『記憶體池設計』。 而這邊透過自己的理解,來專門介紹『模組化設計』,以此來幫助自己認識NGINX架構的內容。 核心模組:
Thumbnail
看更多
你可能也想看
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
簡介如何使用 NGROK 來協助開發與測試
Thumbnail
簡介如何使用 NGROK 來協助開發與測試
Thumbnail
ModSecurity 是普遍應用之 公開網頁程式防火牆 ( 可 搭配 OWASP (Open Web Application Security Project) 維護的免費核心規則集 Core Rule Set CRS 初始設計 為 Apache HTTP Server 之模組 後續發展成 htt
Thumbnail
ModSecurity 是普遍應用之 公開網頁程式防火牆 ( 可 搭配 OWASP (Open Web Application Security Project) 維護的免費核心規則集 Core Rule Set CRS 初始設計 為 Apache HTTP Server 之模組 後續發展成 htt
Thumbnail
打包網頁 在部署網站之前,我們要先來打包我們的網頁前端專案 為什麼要打包呢?什麼是打包呢?這有點像是編譯,如果你寫過 C 應該講到這裡就理解為什麼要這樣做了 在網頁開發中網頁內容最原始就是直接用 html 下去寫,但一個成熟的開發者會善用框架來開發,不論是用 vue 或 react,樣式的部分也會從
Thumbnail
打包網頁 在部署網站之前,我們要先來打包我們的網頁前端專案 為什麼要打包呢?什麼是打包呢?這有點像是編譯,如果你寫過 C 應該講到這裡就理解為什麼要這樣做了 在網頁開發中網頁內容最原始就是直接用 html 下去寫,但一個成熟的開發者會善用框架來開發,不論是用 vue 或 react,樣式的部分也會從
Thumbnail
歷經千辛萬苦,終於要來架站啦!首先先來介紹我們的架站工具 Nginx,最常用的架站工具主要有兩個,Apache 和 Nginx Apache 的歷史悠久,使用的人數也最多,之前在選擇架站工具時,考量的點是 Apache 比較肥,設定也比較難寫,所以最後選擇 Nginx 作為我的架站工具 Nginx
Thumbnail
歷經千辛萬苦,終於要來架站啦!首先先來介紹我們的架站工具 Nginx,最常用的架站工具主要有兩個,Apache 和 Nginx Apache 的歷史悠久,使用的人數也最多,之前在選擇架站工具時,考量的點是 Apache 比較肥,設定也比較難寫,所以最後選擇 Nginx 作為我的架站工具 Nginx
Thumbnail
承上篇【NGINX 架構 - 事件驅動架構】後續,這篇開始記錄函數庫的相關筆記 事件驅動處理函數庫: 函數庫的細節,就沒打算太過深入,我們只要知道模型的運作方式、優缺點及如何使用就足夠了。 1. select模型: 手動啟用模組編譯: 禁用模組編譯: 2. poll模型: Nginx編譯代碼:
Thumbnail
承上篇【NGINX 架構 - 事件驅動架構】後續,這篇開始記錄函數庫的相關筆記 事件驅動處理函數庫: 函數庫的細節,就沒打算太過深入,我們只要知道模型的運作方式、優缺點及如何使用就足夠了。 1. select模型: 手動啟用模組編譯: 禁用模組編譯: 2. poll模型: Nginx編譯代碼:
Thumbnail
上一篇有提到﹝NGINX﹞低消耗高效能的原由,正來至於它優秀的架構設計,其架構主要包括:『模組化設計』、『事件驅動架構』、『請求多階段非同步處理』、『管理程式與多工程式設計』、『記憶體池設計』。 而這邊透過自己的理解,來專門介紹『模組化設計』,以此來幫助自己認識NGINX架構的內容。 核心模組:
Thumbnail
上一篇有提到﹝NGINX﹞低消耗高效能的原由,正來至於它優秀的架構設計,其架構主要包括:『模組化設計』、『事件驅動架構』、『請求多階段非同步處理』、『管理程式與多工程式設計』、『記憶體池設計』。 而這邊透過自己的理解,來專門介紹『模組化設計』,以此來幫助自己認識NGINX架構的內容。 核心模組:
Thumbnail
Development environment of Laravel. Nginx, php, mysql and centos 7
Thumbnail
Development environment of Laravel. Nginx, php, mysql and centos 7
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News