Nginx是什么?為什么選擇Nginx做服務(wù)器軟件?

2022-10-07    分類: 網(wǎng)站建設(shè)

Nginx是什么?為什么選擇Nginx做服務(wù)器軟件?

Nginx是什么?為什么選擇Nginx做服務(wù)器軟件?有什么優(yōu)勢?

 

1.代理服務(wù)器基礎(chǔ)知識

a.代理服務(wù)器

一般是指局域網(wǎng)內(nèi)部的機(jī)器通過代理服務(wù)器發(fā)送請求到互聯(lián)網(wǎng)上的服務(wù)器,代理服務(wù)器一般作用在客戶端。應(yīng)用比如:GoAgent,F(xiàn)Q神器.一個完整的代理請求過程為:客戶端首先與代理服務(wù)器創(chuàng)建連接,接著根據(jù)代理服務(wù)器所使用的代理協(xié)議,請求對目標(biāo)服務(wù)器創(chuàng)建連接、或者獲得目標(biāo)服務(wù)器的指定資源。 Web代理(proxy)服務(wù)器是網(wǎng)絡(luò)的中間實(shí)體。 代理位于Web客戶端和Web服務(wù)器之間,扮演“中間人”的角色。HTTP的代理服務(wù)器即是Web服務(wù)器又是Web客戶端。代理服務(wù)器是介于客戶端和Web服務(wù)器之間的另一臺服務(wù)器,有了它之后,瀏覽器不是直接到Web服務(wù)器去取回網(wǎng)頁而是向代理服務(wù)器發(fā)出請求,信號會先送到代理服務(wù)器,由代理服務(wù)器來取回瀏覽器所需要的信息并傳送給你的瀏覽器。

b.正向代理

是一個位于客戶端和原始服務(wù)器(origin server)之間的服務(wù)器,為了從原始服務(wù)器取得內(nèi)容,客戶端向代理發(fā)送一個請求并指定目標(biāo)(原始服務(wù)器),然后代理向原始服務(wù)器轉(zhuǎn)交請求并將獲得的內(nèi)容返回給客戶端。客戶端必須要進(jìn)行一些特別的設(shè)置才能使用正向代理。

c.反向代理

在服務(wù)器端接受客戶端的請求,然后把請求分發(fā)給具體的服務(wù)器進(jìn)行處理,然后再將服務(wù)器的響應(yīng)結(jié)果反饋給客戶端。Nginx就是其中的一種反向代理服務(wù)器軟件?!  ginx:  Nginx ("engine x") ,Nginx (“engine x”) 是俄羅斯人Igor Sysoev(塞索耶夫)編寫的一款高性能的 HTTP 和反向代理服務(wù)器。也是一個IMAP/POP3/SMTP代理服務(wù)器;也就是說,Nginx本身就可以托管網(wǎng)站,進(jìn)行HTTP服務(wù)處理,也可以作為反向代理服務(wù)器使用。

客戶端必須設(shè)置正向代理服務(wù)器,當(dāng)然前提是要知道正向代理服務(wù)器的IP地址,還有代理程序的端口。

反向代理正好與正向代理相反,對于客戶端而言代理服務(wù)器就像是原始服務(wù)器,并且客戶端不需要進(jìn)行任何特別的設(shè)置??蛻舳讼蚍聪虼淼拿臻g(name-space)中的內(nèi)容發(fā)送普通請求,接著反向代理將判斷向何處(原始服務(wù)器)轉(zhuǎn)交請求,并將獲得的內(nèi)容返回給客戶端。

2.Nginx是什么?為什么選擇Nginx?有什么優(yōu)勢?

Nginx是一個高性能的 HTTP 和 反向代理 服務(wù)器,也是一個 IMAP/POP3/SMTP 代理服務(wù)器。因它的穩(wěn)定性、豐富的功能集、示例配置文件和低系統(tǒng)資源的消耗而聞名。2011年6月1日,nginx 1.0.4發(fā)布。

基于以下特性選擇Nginx:

a.處理請求相應(yīng)很快

這表現(xiàn)在兩個方面:一方面,在正常情況下,單次請求會得到更快的響應(yīng);另一方面,在高峰期(如有數(shù)以萬計的并發(fā)請求),Nginx可以比其他Web服務(wù)器更快地響應(yīng)請求。

b.高擴(kuò)展性、跨平臺

Nginx的設(shè)計極具擴(kuò)展性,它完全是由多個不同功能、不同層次、不同類型且耦合度極低的模塊組成。因此,當(dāng)對某一個模塊修復(fù)Bug或進(jìn)行升級時,可以專注于模塊自身,無須在意其他。而且在HTTP模塊中,還設(shè)計了HTTP過濾器模塊:一個正常的HTTP模塊在處理完請求后,會有一串HTTP過濾器模塊對請求的結(jié)果進(jìn)行再處理。這樣,當(dāng)我們開發(fā)一個新的HTTP模塊時,不但可以使用諸如HTTP核心模塊、events模塊、log模塊等不同層次或者不同類型的模塊,還可以原封不動地復(fù)用大量已有的HTTP過濾器模塊。這種低耦合度的優(yōu)秀設(shè)計,造就了Nginx龐大的第三方模塊,當(dāng)然,公開的第三方模塊也如官方發(fā)布的模塊一樣容易使用。

Nginx的模塊都是嵌入到二進(jìn)制文件中執(zhí)行的,無論官方發(fā)布的模塊還是第三方模塊都是如此。這使得第三方模塊一樣具備極其優(yōu)秀的性能,充分利用Nginx的高并發(fā)特性,因此,許多高流量的網(wǎng)站都傾向于開發(fā)符合自己業(yè)務(wù)特性的定制模塊。

c.高可靠性(用于反向代理,宕機(jī)的概率極其低微)

高可靠性是我們選擇Nginx的最基本條件,因為Nginx的可靠性是大家有目共睹的,很多家高流量網(wǎng)站都在核心服務(wù)器上大規(guī)模使用Nginx。Nginx的高可靠性來自于其核心框架代碼的優(yōu)秀設(shè)計、模塊設(shè)計的簡單性;另外,官方提供的常用模塊都非常穩(wěn)定,每個worker進(jìn)程相對獨(dú)立,master進(jìn)程在1個worker進(jìn)程出錯時可以快速“拉起”新的worker子進(jìn)程提供服務(wù)。

d.低內(nèi)存消耗

一般情況下,10 000個非活躍的HTTP Keep-Alive連接在Nginx中僅消耗2.5MB的內(nèi)存,這是Nginx支持高并發(fā)連接的基礎(chǔ)。

e.單機(jī)支持10萬以上的并發(fā)連接

這是一個非常重要的特性!隨著互聯(lián)網(wǎng)的迅猛發(fā)展和互聯(lián)網(wǎng)用戶數(shù)量的成倍增長,各大公司、網(wǎng)站都需要應(yīng)付海量并發(fā)請求,一個能夠在峰值期頂住10萬以上并發(fā)請求的Server,無疑會得到大家的青睞。理論上,Nginx支持的并發(fā)連接上限取決于內(nèi)存,10萬遠(yuǎn)未封頂。當(dāng)然,能夠及時地處理更多的并發(fā)請求,是與業(yè)務(wù)特點(diǎn)緊密相關(guān)的。

f.熱部署

master管理進(jìn)程與worker工作進(jìn)程的分離設(shè)計,使得Nginx能夠提供熱部署功能,即可以在7×24小時不間斷服務(wù)的前提下,升級Nginx的可執(zhí)行文件。當(dāng)然,它也支持不停止服務(wù)就更新配置項、更換日志文件等功能。

g.最自由的BSD許可協(xié)議

這是Nginx可以快速發(fā)展的強(qiáng)大動力。BSD許可協(xié)議不只是允許用戶免費(fèi)使用Nginx,它還允許用戶在自己的項目中直接使用或修改Nginx源碼,然后發(fā)布。這吸引了無數(shù)開發(fā)者繼續(xù)為Nginx貢獻(xiàn)自己的智慧

以上7個特點(diǎn)當(dāng)然不是Nginx的全部,擁有無數(shù)個官方功能模塊、第三方功能模塊使得Nginx能夠滿足絕大部分應(yīng)用場景,這些功能模塊間可以疊加以實(shí)現(xiàn)更加強(qiáng)大、復(fù)雜的功能,有些模塊還支持Nginx與Perl、Lua等腳本語言集成工作,大大提高了開發(fā)效率。這些特點(diǎn)促使用戶在尋找一個Web服務(wù)器時更多考慮Nginx。

選擇Nginx的核心理由還是它能在支持高并發(fā)請求的同時保持高效的服務(wù)。

本文題目:Nginx是什么?為什么選擇Nginx做服務(wù)器軟件?
當(dāng)前地址:http://www.muchs.cn/news40/203140.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)小程序開發(fā)、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)標(biāo)簽優(yōu)化、網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營