1. 程式人生 > >Nginx初識

Nginx初識

後端 瀏覽器 取反 work 大公司 統一 完成 求和 客戶端

首先我們要了解什麽是Nginx?

Nginx (“engine x”) 是一個高性能的HTTP和反向代理 服務器,也是一個IMAP/POP3/SMTP服務器。其特點是占有內存少,並發能力強,事實上nginx的並發能力確實在同類型的網頁服務器中表現較好,中國大陸使用nginx網站用戶有:京東、新浪、網易、騰訊、淘寶等。

反向代理(Reverse Proxy)方式是指以代理服務器來接受internet上的連接請求,然後將請求轉發給內部網絡上的服務器,並將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現為一個反向代理服務器。

為什麽要用Nginx?

1、熱部署

我個人覺得這個很不錯。在master管理進程與worker工作進程的分離設計,使的Nginx具有熱部署的功能,那麽在7×24小時不間斷服務的前提下,升級Nginx的可執行文件。也可以在不停止服務的情況下修改配置文件,更換日誌文件等功能。

2、可以高並發連接

這是一個很重要的一個特性!在這一個 互聯網 快速發展, 互聯網 用戶數量不斷增加,一些大公司、網站都需要面對高並發請求,如果有一個能夠在峰值頂住10萬以上並發請求的Server,肯定會得到大家的青睞。理論上,Nginx支持的並發連接上限取決於你的內存,10萬遠未封頂。

3、低的內存消耗

在一般的情況下,10000個非活躍的HTTP Keep-Alive 連接在Nginx中僅消耗2.5M的內存,這也是Nginx支持高並發連接的基礎。

4、處理響應請求很快

在正常的情況下,單次請求會得到更快的響應。在高峰期,Nginx可以比其他的Web服務器更快的響應請求。

5、具有很高的可靠性

Nginx是一個高可靠性的Web服務器,這也是我們為什麽選擇Nginx的基本條件,現在很多的網站都在使用Nginx,足以說明Nginx的可靠性。高可靠性來自其核心框架代碼的優秀設計、模塊設計的簡單性;並且這些模塊都非常的穩定。

代理和反向代理到底有什麽區別

代理服務器通常分為兩類,即轉發代理(forward proxy)服務器和反向代理(reverse proxy)服務器。轉發代理服務器又通常簡稱為代理服務器,我們常提到的代理服務器就指的是轉發代理服務器。

轉發代理服務器

普通的轉發代理服務器是客戶端與原始服務器之間的一個中間服務器。為了從原始服務器獲取內容,客戶端發送請求到代理服務器,然後代理服務器從原始服務器中獲取內容再返回給客戶端。客戶端必須專門地配置轉發代理來訪問其他站點,如在瀏覽器中配置代理服務器地址及端口號等。

轉發代理服務器的一個典型應用就是為處於防火墻後的內部客戶端提供訪問外部Internet網,比如校園網用戶通過代理訪問國外網站,公司內網用戶通過公司的統一代理訪問外部Internet網站等。轉發代理服務器也能夠使用緩存來緩解原始服務器負載,提供響應速度。

反向代理服務器

而反向代理服務器則相反,在客戶端來看它就像一個普通的Web服務器。客戶端不要做任何特殊的配置。客戶端發送普通的請求來獲取反向代理所屬空間的內容。反向代理決定將這些請求發往何處,然後就好像它本身就是原始服務器一樣將請求內容返回。

反向代理服務器的一個典型應用就是為處於防火墻後的服務器提供外部Internet用戶的訪問。反向代理能夠用於在多個後端服務器提供負載均衡,或者為較慢的後端服務器提供緩存。此外,反向代理還能夠簡單地將多個服務器映射到同一個URL空間。

兩者區別

兩者的相同點在於都是用戶和服務器之間的中介,完成用戶請求和結果的轉發。主要的不同在於:

1.轉發代理的內部是客戶端,而反向代理的內部是服務器。即內網的客戶端通過轉發代理服務器訪問外部網絡,而外部的用戶通過反向代理訪問內部的服務器。

2.轉發代理通常接受客戶端發送的任何請求,而反向代理通常只接受到指定服務器的請求。如校園網內部用戶可以通過轉發代理訪問國外的任何站點(如果不加限制的話),而只有特定的請求才發往反向代理,然後又反向代理發往內部服務器。

Nginx初識