Nginx到底能做什麼?

能全面說說Nginx到底能做什麼嗎?\n
2 個回答
小猿编程
2019-06-14

Nginx(發音同engine x)是一個高性能、跨平臺的HTTP Server,也可以用作反向代理、負載均衡和HTTP緩存服務器。俄羅斯人Igor Sysoev(伊戈爾·賽索耶夫)在2004年開發的,Nginx是免費的開源軟件,根據類BSD許可證的條款發佈。目前全球約有50%的網站都是用Nginx做Web服務器。

Nginx(發音同engine x)是一個高性能、跨平臺的HTTP Server,也可以用作反向代理、負載均衡和HTTP緩存服務器。俄羅斯人Igor Sysoev(伊戈爾·賽索耶夫)在2004年開發的,Nginx是免費的開源軟件,根據類BSD許可證的條款發佈。目前全球約有50%的網站都是用Nginx做Web服務器。

Nginx的優點

1、開源免費

  • Nginx完全開源免費,可以輕鬆搭建HTTP服務。

  • 相對傳統收費的負載均衡器F5,用Nginx搭建負載均衡服務成本比較低。

2、高性能

  • Nginx是基於C語言開發,在執行效率很高。

  • Nginx是基於Master/Worker進程架構,Master進程管理多個Worker進程,開啟多個Worker進程併發處理請求,使用CPU親和性,充分發揮多核CPU的性能。
  • 基於事件驅動處理大量併發請求,解決C10k問題。

3、佔用資源少

  • Ngxin在設計和開發時對佔用內存做了大量的優化,1w多個非活躍的HTTP Keep-Alive連接在Nginx中僅消耗2.5MB的內存。

4、跨平臺

  • Nginx可以在在Linux、MacOS、Windows等平臺編譯部署。

5、模塊化擴展

  • Nginx是高度模塊化設計,可以根據抽象的模塊接口開發定製相應的模塊,以滿足業務需求,淘寶的Tengine就是基於Nginx開發定製的,淘寶開發很多有用的模塊。

Nginx的用途

1、Web服務器

  • Nginx可以搭建Web服務器,由於在性能優於Apache,因此很多公司逐漸用Nginx替換Apache。

  • Nginx支持Lua,大牛章亦春基於Nginx與Lua開發高性能Web平臺OpenResty,其內部集成了大量精良的 Lua 庫、第三方模塊以及大多數的依賴項。用於方便地搭建能夠處理超高併發、擴展性極高的動態 Web 應用、Web 服務和動態網關。

Nginx(發音同engine x)是一個高性能、跨平臺的HTTP Server,也可以用作反向代理、負載均衡和HTTP緩存服務器。俄羅斯人Igor Sysoev(伊戈爾·賽索耶夫)在2004年開發的,Nginx是免費的開源軟件,根據類BSD許可證的條款發佈。目前全球約有50%的網站都是用Nginx做Web服務器。

Nginx的優點

1、開源免費

  • Nginx完全開源免費,可以輕鬆搭建HTTP服務。

  • 相對傳統收費的負載均衡器F5,用Nginx搭建負載均衡服務成本比較低。

2、高性能

  • Nginx是基於C語言開發,在執行效率很高。

  • Nginx是基於Master/Worker進程架構,Master進程管理多個Worker進程,開啟多個Worker進程併發處理請求,使用CPU親和性,充分發揮多核CPU的性能。
  • 基於事件驅動處理大量併發請求,解決C10k問題。

3、佔用資源少

  • Ngxin在設計和開發時對佔用內存做了大量的優化,1w多個非活躍的HTTP Keep-Alive連接在Nginx中僅消耗2.5MB的內存。

4、跨平臺

  • Nginx可以在在Linux、MacOS、Windows等平臺編譯部署。

5、模塊化擴展

  • Nginx是高度模塊化設計,可以根據抽象的模塊接口開發定製相應的模塊,以滿足業務需求,淘寶的Tengine就是基於Nginx開發定製的,淘寶開發很多有用的模塊。

Nginx的用途

1、Web服務器

  • Nginx可以搭建Web服務器,由於在性能優於Apache,因此很多公司逐漸用Nginx替換Apache。

  • Nginx支持Lua,大牛章亦春基於Nginx與Lua開發高性能Web平臺OpenResty,其內部集成了大量精良的 Lua 庫、第三方模塊以及大多數的依賴項。用於方便地搭建能夠處理超高併發、擴展性極高的動態 Web 應用、Web 服務和動態網關。

2、反向代理

  • 目前很多後端應用服務在部署時都是通過Nginx搭建反向代理,首先client端請求到Nginx的反向代理,然後再轉發到後端應用服務上,這樣可以很好保護後端應用服務。

Nginx(發音同engine x)是一個高性能、跨平臺的HTTP Server,也可以用作反向代理、負載均衡和HTTP緩存服務器。俄羅斯人Igor Sysoev(伊戈爾·賽索耶夫)在2004年開發的,Nginx是免費的開源軟件,根據類BSD許可證的條款發佈。目前全球約有50%的網站都是用Nginx做Web服務器。

Nginx的優點

1、開源免費

  • Nginx完全開源免費,可以輕鬆搭建HTTP服務。

  • 相對傳統收費的負載均衡器F5,用Nginx搭建負載均衡服務成本比較低。

2、高性能

  • Nginx是基於C語言開發,在執行效率很高。

  • Nginx是基於Master/Worker進程架構,Master進程管理多個Worker進程,開啟多個Worker進程併發處理請求,使用CPU親和性,充分發揮多核CPU的性能。
  • 基於事件驅動處理大量併發請求,解決C10k問題。

3、佔用資源少

  • Ngxin在設計和開發時對佔用內存做了大量的優化,1w多個非活躍的HTTP Keep-Alive連接在Nginx中僅消耗2.5MB的內存。

4、跨平臺

  • Nginx可以在在Linux、MacOS、Windows等平臺編譯部署。

5、模塊化擴展

  • Nginx是高度模塊化設計,可以根據抽象的模塊接口開發定製相應的模塊,以滿足業務需求,淘寶的Tengine就是基於Nginx開發定製的,淘寶開發很多有用的模塊。

Nginx的用途

1、Web服務器

  • Nginx可以搭建Web服務器,由於在性能優於Apache,因此很多公司逐漸用Nginx替換Apache。

  • Nginx支持Lua,大牛章亦春基於Nginx與Lua開發高性能Web平臺OpenResty,其內部集成了大量精良的 Lua 庫、第三方模塊以及大多數的依賴項。用於方便地搭建能夠處理超高併發、擴展性極高的動態 Web 應用、Web 服務和動態網關。

2、反向代理

  • 目前很多後端應用服務在部署時都是通過Nginx搭建反向代理,首先client端請求到Nginx的反向代理,然後再轉發到後端應用服務上,這樣可以很好保護後端應用服務。

3、負載均衡

  • 目前互聯網用戶成倍增長,單臺服務不足以應對海量用戶的請求,需要部署多臺後端應用服務,因此需要負載均衡器將請求負載到不同後端應用服務上,實現分佈式集群。以前都是硬負載均衡器F5,但是F5成本比較高,小公司很難承受起,再者F5功能比較固化,不夠靈活,因此Nginx做軟負載均衡器就比較流行。

  • 在一線互聯網公司,例如BAT公司,他們都有統一接入服務,對互聯網上的請求統一分發,這個統一接入服務一般都是用Nginx搭建的。

Nginx(發音同engine x)是一個高性能、跨平臺的HTTP Server,也可以用作反向代理、負載均衡和HTTP緩存服務器。俄羅斯人Igor Sysoev(伊戈爾·賽索耶夫)在2004年開發的,Nginx是免費的開源軟件,根據類BSD許可證的條款發佈。目前全球約有50%的網站都是用Nginx做Web服務器。

Nginx的優點

1、開源免費

  • Nginx完全開源免費,可以輕鬆搭建HTTP服務。

  • 相對傳統收費的負載均衡器F5,用Nginx搭建負載均衡服務成本比較低。

2、高性能

  • Nginx是基於C語言開發,在執行效率很高。

  • Nginx是基於Master/Worker進程架構,Master進程管理多個Worker進程,開啟多個Worker進程併發處理請求,使用CPU親和性,充分發揮多核CPU的性能。
  • 基於事件驅動處理大量併發請求,解決C10k問題。

3、佔用資源少

  • Ngxin在設計和開發時對佔用內存做了大量的優化,1w多個非活躍的HTTP Keep-Alive連接在Nginx中僅消耗2.5MB的內存。

4、跨平臺

  • Nginx可以在在Linux、MacOS、Windows等平臺編譯部署。

5、模塊化擴展

  • Nginx是高度模塊化設計,可以根據抽象的模塊接口開發定製相應的模塊,以滿足業務需求,淘寶的Tengine就是基於Nginx開發定製的,淘寶開發很多有用的模塊。

Nginx的用途

1、Web服務器

  • Nginx可以搭建Web服務器,由於在性能優於Apache,因此很多公司逐漸用Nginx替換Apache。

  • Nginx支持Lua,大牛章亦春基於Nginx與Lua開發高性能Web平臺OpenResty,其內部集成了大量精良的 Lua 庫、第三方模塊以及大多數的依賴項。用於方便地搭建能夠處理超高併發、擴展性極高的動態 Web 應用、Web 服務和動態網關。

2、反向代理

  • 目前很多後端應用服務在部署時都是通過Nginx搭建反向代理,首先client端請求到Nginx的反向代理,然後再轉發到後端應用服務上,這樣可以很好保護後端應用服務。

3、負載均衡

  • 目前互聯網用戶成倍增長,單臺服務不足以應對海量用戶的請求,需要部署多臺後端應用服務,因此需要負載均衡器將請求負載到不同後端應用服務上,實現分佈式集群。以前都是硬負載均衡器F5,但是F5成本比較高,小公司很難承受起,再者F5功能比較固化,不夠靈活,因此Nginx做軟負載均衡器就比較流行。

  • 在一線互聯網公司,例如BAT公司,他們都有統一接入服務,對互聯網上的請求統一分發,這個統一接入服務一般都是用Nginx搭建的。

4、HTTP緩存服務

  • Nginx支持緩存,可以將緩存圖片、js、css等,現在很多CDN廠商的CDN緩存都是用的Nginx緩存。

隨著互聯網的迅猛發展和互聯網用戶數量的成倍增長,互聯網公司都需要應付海量併發請求,Nginx開源免費、高性能等特點會越來越受青睞。

网络圈
2019-04-15

Nginx是一款高性能的HTTP和反向代理服務器,同時也支持郵件服務。因其內存佔用小、高併發的特性使得在世界範圍內使用廣泛,像國內互聯網大企業無一例外使用的就是Nginx,比如淘寶還基於Nginx開發了Tengine。

既然Nginx應用這麼廣泛,那它到底能幹些啥呢?下面我列舉一些場景來說明下Nginx的用途:

1、反向代理

在LNMP這種架構模式下,其實就用到了反向代理。因為Nginx它默認只支持靜態資源的請求,比如說PHP腳本也不是由Nginx直接解析的,而是由Nginx反向代理(通過 proxy_pass 指令)到PHP-FPM去解析的

所以我們通常在Apache、Tomcat、IIS之前加上Nginx,由Nginx反向代理到後端服務器上。

2、負載均衡

當我們的站點訪問量大時,為了緩解單一應用服務器的壓力我們通常會擴容多臺服務器,此時如何把流量分發給不同服務器呢?通過Nginx就可以實現負載均衡了,Nginx負載均衡策略也很多,主要有:RR(輪詢)、weight(權重)、ip_hash(IP Hash)、fair(後端服務器響應時間)、url_hash(URL Hash)這幾種

3、動靜分離

Nginx本身只支持靜態資源的處理,藉助Nginx我們可以實現動靜分離,即:將靜態請求交給Nginx處理,將動態請求通過轉發給後端服務器

4、Nginx擴展

通過Nginx擴展可以實現很多功能,如:

  • 圖片在線裁剪;

  • 請求合併;

  • 資源壓縮等。


以上就是我的觀點,對於這個問題大家是怎麼看待的呢?歡迎在下方評論區交流 ~ 我是科技領域創作者,十年互聯網從業經驗,歡迎關注我瞭解更多科技知識!

相關推薦

推薦中...