Nginx的基本介紹&反向代理

什麼是nginx

在這裏插入圖片描述

  1. Nginx 是異步框架的網頁服務器,也可以用作反向代理、負載平衡器和 HTTP 緩存。大部分 Web 服務器使用 Nginx,通常作爲負載均衡器。
  2. 部署web項目的容器(部署你們寫的項目的),常見的web容器有:nginx、Apache、Tomcat
  3. nginx官方宣稱可以處理十萬併發(處理靜態資源的時候應該是可以達到這個水平)

nginx高併發原理( 多進程+epoll實現高併發 【select poll epoll】)

  • Nginx 在啓動後,會有一個 master 進程和多個相互獨立的 worker 進程。
  • 每個子進程只有一個線程,採用的 IO多路複用模型epoll,實現高併發。

nginx和apache比較
在這裏插入圖片描述
1)nginx相對於apache的優點

  1. 輕量級,同樣起web 服務,比apache 佔用更少的內存及資源
  2. 抗併發,nginx 處理請求是異步非阻塞的,而apache 則是阻塞型的,在高併發下nginx 能保持低資源低消耗高性能
  3. 高度模塊化的設計,編寫模塊相對簡單,社區活躍,各種高性能模塊出品迅速啊

2)apache 相對於nginx 的優點

  1. apache 更爲成熟,少 bug ,穩定性好
  2. rewrite ,比nginx 的rewrite 強大
  3. 模塊超多,基本想到的都可以找到

Nginx的應用場景

  1. http服務器。Nginx是一個http服務可以獨立提供http服務。可以做網頁靜態服務器。

  2. 虛擬主機。可以實現在一臺服務器虛擬出多個網站。例如個人網站使用的虛擬主機。

  3. 反向代理,負載均衡。當網站的訪問量達到一定程度後,單臺服務器不能滿足用戶的請求時,需要用多臺服務器集羣可以使用nginx做反向代理。並且多臺服務器可以平均分擔負載,不會因爲某臺服務器負載高宕機而某臺服務器閒置的情況。

nginx反向代理

nginx反向代理

  • 反向代理對用戶透明,客戶端無需任何配置即可訪問服務。
  • 實際運行方式是指以代理服務器來接受internet上的連接請求,然後將請求轉發給內部網絡上的服務器。
  • 並將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現爲一個服務器。

在這裏插入圖片描述
反向代理的作用:

  • 保證內網的安全,通常將反向代理作爲公網訪問地址,Web服務器是內網
  • 負載均衡,通過反向代理服務器來優化網站的負載

反向代理和web服務器區別

  • 反向代理服務器:通過給你upstream參數配置, proxy_pass
  • web服務器部署:web服務服務器應該不是我們真實項目(django+uwsgi+nginx)
  • 幾臺反向代理服務器:沒有使用LVS等負載均衡技術,那麼只有一臺負載均衡服務器
  • 反向代理服務器部署nginx後臺爲什麼也不是nginx: 提高每個web服務器處理能力

參考來自於此

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章