1. 程式人生 > >Nginx簡介

Nginx簡介

技術分享 哪裏 部署 閑置 play 表示 tp服務器 什麽是 時代

一、什麽是Nginx?

  Nginx是一款高性能的http服務器(能訪問圖片靜態資源)/反向代理服務器及電子郵件(IMAP/POP3)代理服務器。官方測試nginx能夠支撐5萬並發鏈接,並且cpu、內存等資源消耗非常低,運行非常穩定。

二、能夠用在什麽地方?

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

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

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

三、涉及到的一些概念。

  1、代理服務器。是一種重要的服務器安全功能,它主要工作在開放系統互聯(OSI)模型的會話層,從而起到防火墻的作用。代理服務器大多被用來連接INTERNET(國際互聯網)和Local Area Network(局域網)。

  2、反向代理(reverse proxy)。指以代理服務器來接受Interner上的連接請求,然後將請求轉發給內部網絡上的服務器;並將得到的結果返回給Internat上請求連接的客戶端,此時代理服務器對外就表現為一個服務器。當一個代理服務器能夠代理外部網絡上的主機,訪問內部網絡時,這種代理服務方式稱為反向代理服務。

技術分享圖片

用戶A向服務器發送請求,由反向代理服務器接受,反向代理服務器Z接收請求後,判斷向哪裏(原始資源服務器B)轉交請求,接收原始資源服務器B響應的內容內容,然後返回給用戶A。整個過程中,用戶端都以為自己訪問的是原始資源服務器B而不是反向代理服務器Z。由防火墻和反向代理服務器共同保護了原始資源服務器。

技術分享圖片

  3、正向代理服務器。只用於代理內部網絡對Internet的連接請求,客戶機必須指定代理服務器,並將本來要發送給Web服務器上的http請求發送到代理服務器中。

技術分享圖片

   一個位於客戶端A和原始服務器(服務器B)之間的服務器(代理服務器Z),為了從原始服務器取得內容,用戶A向代理服務器Z發送一個請求並指定目標(服務器B),然後代理服務器Z向服務器B轉交請求並將獲得的內容返回給客戶端。客戶端必須要進行一些特別的設置才能使用正向代理。

四、Nginx的優點。 

  1、作為Web服務器,Nginx處理靜態文件、索引文件,自動索引的效率非常高

  2、作為代理服務器,Nginx可以實現無緩存的反向代理加速,提高網站運行速度

  3、作為負載均衡服務器,Nginx既可以在內部直接支持RailsPHP,也可以支持HTTP代理服務器對外進行服務,同時還支持簡單的容錯和利用算法進行負載均衡

  4、在性能方面,Nginx是專門為性能優化而開發的,實現上非常註重效率。它采用內核Poll模型,可以支持更多的並發連接,最大可以支持對5萬個並發連接數的響應,而且只占用很低的內存資源

  5、在穩定性方面,Nginx采取了分階段資源分配技術,使得CPU與內存的占用率非常低。Nginx官方表示,Nginx保持1萬個沒有活動的連接,而這些連接只占用2.5MB內存,因此,類似DOS這樣的攻擊對Nginx來說基本上是沒有任何作用的

  6、在高可用性方面,Nginx支持熱部署,啟動速度特別迅速,因此可以在不間斷服務的情況下,對軟件版本或者配置進行升級,即使運行數月也無需重新啟動,幾乎可以做到7x24小時不間斷地運行

參考:

1、 https://blog.csdn.net/liutengteng130/article/details/46700939

Nginx簡介