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