Nginx之反向代理常見概念

什麼是Nginx

  • Nginx是俄羅斯人Igor Sysoev編寫的輕量級Web服務器,同時也是一個高性能的HTTP和反向代理服務器。Nginx的併發能力在同類型網頁服務器中表現最好。
  • Nginx專爲性能優化而開發,性能是其重要的考量,實現上非常注重效率,能經受高負載的考驗,有報告表明能支持高達50000個併發連接。
  • Nginx以事件驅動的方式編寫,所以有非常好的性能,同時也是一個非常高效的反向代理、負載平衡服務器。在性能上,Nginx佔用很少的系統資源,能支持更多的併發連接,達到更高的訪問效率;在功能上,Nginx是優秀的代理服務器和負載均衡服務器;在安裝配置上,Nginx安裝簡單、配置靈活。
  • Nginx支持熱部署,啓動速度特別快,還可以在不間斷服務的情況下對軟件版本或配置進行升級,即使運行數月也無需重新啓動。

反向代理

正向代理

  • Nginx不僅可以做反向代理,實現負載均衡。還能用作正向代理實現上網功能。
  • 正向代理:如果把局域網外的Internet想象成一個巨大的資源庫,則局域網中的客戶要訪問Internet,則需要通過代理服務器來訪問,這種代理服務就稱爲正向代理。
  • 在客戶端(瀏覽器)配置代理服務器,通過代理服務器進行互諒網訪問。比如:瀏覽器或者本地配置進行訪問google。

反向代理

  • 反向代理,其實客戶端對代理是無感知的,因爲客戶端不需要任何配置就可以訪問,我們只需要將請求發送到反向代理服務器,由反向代理服務器去選擇目標服務器獲取數據後,在返回給客戶端,此時反向代理服務器和目標服務器對外就是一個服務器,暴露的是代理服務器地址,隱藏了真實服務器 IP 地址。

負載均衡

原始

客戶端發送多個請求到服務器,服務器處理請求,有一些可能要與數據庫進行交互,服務器處理完畢後,再將結果返回給客戶端。這種架構模式對於早期的系統相對單一,併發請求相對較少的情況下是比較適合的,成本也低。但是隨着信息數量的不斷增長,訪問量和數據量的飛速增長,以及系統業務的複雜度增加,這種架構會造成服務器相應客戶端的請求日益緩慢,併發量特別大的時候,還容易造成服務器直接崩潰。很明顯這是由於服務器性能的瓶頸造成的問題

負載均衡

單個服務器解決不了,我們增加服務器的數量,然後將請求分發(Nginx反向代理)到各個服務器上,將原先請求集中到單個服務器上的情況改爲將請求分發到多個服務器上,將負載分發到不同的服務器,也就是我們所說的 負載均衡
• 客戶端請求 —— nginx分發請求 —— 多個服務器

動靜分離

  • 爲了加快網站的解析速度,可以把動態頁面和靜態頁面由不同的服務器來解析,加快解析速度。降低原來單個服務器的壓力。
  • 動(jsp/servlet)靜(html/css/js)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章