1. 程式人生 > 其它 >「一」nginx介紹

「一」nginx介紹

應用場景

  1. 靜態資源(js、css、圖片 )
  2. 反向代理
    1. 快取加速(動態資源),比如社群活躍度排名
    2. 負載均衡(動態擴容、容災)
  3. API服務
一個請求先經過nginx,再到應用伺服器,訪問資料庫/redis提供基本資料,應用服務要求開發效率高,執行效率就很低,qps、tps、併發受限,所以需要把很多的應用服務組成一個叢集,向用戶提供高可用性,需要nginx具有反向代理功能

nginx為什麼會出現?

  1. 網際網路資料量快速增常
  2. (摩爾定律)效能提升
  3. 地效apache
cpu開始向多核cpu發展,當你從8核的cpu升到16核cpu時,你的效能並不能有一倍提升,作業系統和軟體(apache)沒有做好“多核架構準備”,apache一個連線對應一個程序,一個程序同一時間只能服務於一個連線,當需要面臨幾百萬的連線時,apache沒辦法開幾百個連線,程序間切換的成本太高,nginx正是為了這種場景而生

優點

  • 高併發,高效能(可以輕鬆達到數千萬的併發連線)
  • 擴充套件性好(模組化設計,豐富生態圈提供了豐富的模組)
  • 高可靠性(可以持續不間斷的執行數年)
  • 熱部署(可以在不停止nginx的情況下升級)
  • BSD許可證(開源免費)

組成

  1. 二進位制可執行檔案(由各模組原始碼編譯出的一個檔案)
  2. 配置檔案
  3. 日誌(access.log\error.log)