Nginx 是什麼

Home 教學 Nginx 是什麼
Nginx 是什麼
Nginx

NGINX 是用於 Web 服務、反向代理、緩存、負載平衡、媒體串流等的開源軟體。 它最初是為了實現最高性能和穩定性而設計的 Web 服務器。 除了 HTTP 服務器功能之外,NGINX 還可以用作電子郵件(IMAP、POP3 和 SMTP)的代理服務器以及 HTTP、TCP 和 UDP 服務器的反向代理和負載平衡器。

背景故事

Igor Sysoev 最初編寫 NGINX 是為了解決 C10K 問題,這是一個在 1999 年創造的術語,用於描述現有 Web 服務器在處理大量(10K)並發連接(C)時遇到的困難。 憑藉其事件驅動的非同步架構,NGINX 徹底改變了服務器在高性能環境中的運行方式,並成為可用的最快的 Web 服務器。

在 2004 年開源該項目並看到其使用呈指數級增長後,Sysoev 與他人共同創立了 NGINX, Inc.,以支援 NGINX 的持續發展並將 NGINX Plus 作為專為企業客戶設計的附加功能的商業產品進行銷售。 NGINX, Inc. 於 2019 年成為 F5, Inc. 的一部分。如今,NGINX 和 NGINX Plus 可以處理數十萬個同步連接,並為網際網路上最繁忙的網站提供支援,超過任何其他服務器。

Nginx 不僅是網路服務

儘管 NGINX 以最快的 Web 服務器而聞名,但事實證明,可擴展的底層架構非常適合提供內容以外的許多 Web 任務。 因為它可以處理大量連接,NGINX 通常用作反向代理和負載平衡器來管理傳入流量並將其分發到速度較慢的上游服務器—從傳統資料庫服務器到微服務。

NGINX 也經常放置在客戶端和第二個 Web 服務器之間,用作 SSL/TLS 終結器或 Web 加速器。 作為中介,NGINX 有效地處理可能降低 Web 服務器速度的任務,例如協商 SSL/TLS 或壓縮和緩存內容以提高性能。 使用從 Node.js 到 PHP 的任何東西構建的動態網站通常將 NGINX 部署為內容緩存和反向代理,以減少應用程序服務器的負載並最有效地利用底層硬體。

Nginx 對決 Apache

Apache 是另一種流行的開源 Web 服務器。 根據 W3Techs 的數據,就原始數據而言,Apache 是現有最流行的 Web 服務器,在所有具有已知 Web 服務器的網站中,有 43.6%(低於 2018 年的 47%)使用 Apache。 Nginx 以 41.8% 緊隨其後。

Netcraft 對 2.33 億個網域進行了一項調查,發現 Apache 的使用率為 31.54%,Nginx 的使用率為 26.20%。

雖然 Apache 是最受歡迎的整體選項,但 Nginx 實際上是高流量網站中最受歡迎的 Web 服務器。

當您按流量細分使用率時,Nginx 具有以下功能:

  • 100,000 個最受歡迎的網站中的 60.9%(高於 2018 年的 56.1%)
  • 10,000 個最受歡迎的網站中的 67.1%(高於 2018 年的 63.2%)
  • 1,000 個最受歡迎的網站中的 62.1%(高於 2018 年的 57%)

事實上,現有的一些資源最密集的網站都在使用 Nginx,包括 Netflix、NASA 甚至 WordPress.com。

另一方面,隨著網站流量的增加,Apache 的佔比呈現逐年減少的趨勢:

  • 100,000 個最受歡迎的網站中的 24.0%(低於 2018 年的 27.1%)
  • 10,000 個最受歡迎的網站中的 18.8%(低於 2018 年的 21.5%)
  • 1,000 個最受歡迎的網站中的 16.6%(高於 2018 年的 16.2%)

其它

Nginx在官方測試的結果中,能夠支援五萬個並列連接,而在實際的運作中,可以支援二萬至四萬個並列連接。

相關文章