天天看點

圖解Nginx常用功能

目錄

      • 前言:
      • 虛拟主機
      • 反向代理
      • 負載均衡
      • 動靜分離

前言:

簡介:

  Nginx (engine x) 是一個高性能的HTTP和反向代理web伺服器,同時也提供了IMAP/POP3/SMTP服務。

  其特點是占有記憶體少,并發能力強,最高可高達50000個并發連接配接。

高效率

高并發

高可用

主要的功能有:

  1. 虛拟主機
  2. 反向代理
  3. 負載均衡
  4. 動靜分離

虛拟主機

  虛拟主機是一種特殊的軟硬體技術,它可以将網絡上的每一台計算機分成多個虛拟主機,每個虛拟主機可以獨立對外提供web服務,這樣就可以實作一台主機對外提供多個web服務,每個虛拟主機之間是獨立的網站、獨立的域名,從網站通路者來看,每一台虛拟主機和一台獨立的主機完全一樣,互不影響。

圖解Nginx常用功能

上圖是以端口模式劃分的虛拟主機

虛拟主機的劃分除了上圖展示的端口模式,還有以域名劃分、以IP劃分。

  1. 以端口劃分虛拟主機(應用:公司内部網站,web網站管理背景)
  2. 以域名劃分 (應用:外部網站)
  3. 以IP劃分 (一塊主機綁定多個IP,用到的比較少)

反向代理

沒有代理的通路

圖解Nginx常用功能

正向代理

圖解Nginx常用功能

反向代理

  反向代理,用戶端是對中間的代理伺服器(Nginx)是無感的,應為用戶端不需要在進行代理配置,隻需要把請求發給代理伺服器(Nginx),通過它進行自動選擇通路的目标伺服器,這個過程就叫作反向代理。Nginx就是性能非常好的反向代理伺服器,當有多台伺服器需要代理,還可以用來做負載均衡。

圖解Nginx常用功能

負載均衡

  當網站的通路量達到一定程度後,單台伺服器不能滿足使用者的請求時,需要用多台伺服器叢集可以使用nginx做反向代理。并且多台伺服器可以平均分擔負載,不會因為某台伺服器負載高當機而某台伺服器閑置的情況。

  負載均衡部署的前提是部署過多台反向代理伺服器,或者多台虛拟主機伺服器,用戶端對伺服器的通路通過Nginx的負載均衡政策,選擇相對來說最優的代理伺服器或虛拟主機進行通路。

圖解Nginx常用功能

負載均衡的政策:

  1. 輪詢:

    這一項為預設的,當沒有配置負載均衡時,預設為輪詢狀态,例如,第一個請求web1加載,第二個請求web2加載,第三個請求web3加載,第四個請求web1加載… 以此類推。
  2. ip_hash

    :每個請求按通路IP的hash結果配置設定,同一個IP用戶端固定通路一個後端伺服器。可以保證來自同一ip的請求被打到固定的機器上,可以解決session問題。
  3. url_hash

    :按通路url的hash結果來配置設定請求,使每個url定向到同一個後端伺服器。背景伺服器為緩存的時候效率。
  4. fair

    :這是比上面兩個更加智能的負載均衡算法。此種算法可以依據頁面大小和加載時間長短智能地進行負載均衡,也就是根據後端伺服器的響應時間來配置設定請求,響應時間短的優先配置設定。

    Nginx

    本身是不支援

    fair

    的,如果需要使用這種排程算法,必須下載下傳Nginx的

    upstream_fair

    子產品。

動靜分離

圖解Nginx常用功能

  為了加快網站的解析速度,可以把動态頁面和靜态頁面由不同的伺服器來解析,加快解析速度。降低原來單個伺服器的壓力。 在動靜分離的tomcat的時候比較明顯,因為tomcat解析靜态很慢,其實這些原理的話都很好了解,簡單來說,使用正規表達式比對過濾,然後交給不同的伺服器。

  靜态頁面一般直接由Nginx來處理,動态頁面則是通過反向代理,代理到後端的Tomcat,然後在做負載均衡,是選擇本地靜态頁面,還是後端Tomcat,這由負載均衡配置決定。

  動靜分離是在負載均衡後做的,例如靜态wbe有多台,動态web有多台,先動靜分離,然後在各自叢集裡做負載均衡、權重等。

以是Nginx的常用功能的簡介,如果需要具體參考配置案例,請跳轉部落格首頁哦

─=≡Σ(((つ•̀ω•́)つ

======================================================================================================================================================================================================================================================================================================

辛苦浏覽觀看,如果對你有幫助,請順手點個贊吧 (σ゚∀゚)σ…:*☆

繼續閱讀