Nginx介紹
Nginx(發音同「engine X」)是非同步框架的網頁伺服器,也可以用作反向代理、負載平衡器和HTTP快取。該軟體由俄羅斯程式設計師伊戈爾·賽索耶夫(Игорь Сысоев)開發並於2004年首次公開發布。2011年成立同名公司以提供支援服務。2019年3月11日,Nginx公司被F5網路公司以6.7億美元收購。
Nginx是免費的開源軟體,根據類BSD授權條款的條款釋出。一大部分Web伺服器使用Nginx,通常作為負載均衡器。
Nginx可以部署在網路上使用FastCGI指令碼、SCGI處理程式、WSGI應用伺服器或Phusion Passenger模組的動態HTTP內容,並可作為軟體負載均衡器。
Nginx使用非同步事件驅動的方法來處理請求。Nginx的模組化事件驅動架構可以在高負載下提供更可預測的效能。
Nginx是一款面向效能設計的HTTP伺服器,相較於Apache、lighttpd具有占有記憶體少,穩定性高等優勢。與舊版本(≤2.2)的Apache不同,Nginx不採用每客戶機一執行緒的設計模型,而是充分使用非同步邏輯從而削減了上下文排程開銷,所以並行服務能力更強。整體採用模組化設計,有豐富的模組庫和第三方模組庫,組態靈活。在Linux作業系統下,Nginx使用epoll事件模型,得益於此,Nginx在Linux作業系統下效率相當高。同時Nginx在OpenBSD或FreeBSD作業系統上採用類似於epoll的高效事件模型kqueue。
根據Netcraft在2016年11月網路伺服器調查,Nginx被發現是所有「活躍」站點(被調查站點的18.22%)和百萬最繁忙站點(被調查站點的27.83%)中使用次數最多的Web伺服器。根據W3Techs的資料,前100萬個網站中的37.7%,前10萬個網站中的49.7%,以及前10000個網站中的57.0%被使用。據BuiltWith統計,在全球前10000個網站中,有38.2%的網站使用Nginx。維基百科使用Nginx作為其SSL終端代理。從OpenBSD 5.2版本(2012年11月1日)開始,Nginx成為了OpenBSD基礎系統的一部分,提供了替代Apache 1.3系統的替代方案,但是後來被替換為OpenBSD自己的httpd(8)。
可大量並列處理
Nginx在官方測試的結果中,能夠支援五萬個並列連接,而在實際的運作中,可以支援二萬至四萬個並列連接。