2022-10-07 分類: 網(wǎng)站建設(shè)
Nginx是什么?為什么選擇Nginx做服務(wù)器軟件?有什么優(yōu)勢(shì)?
1.代理服務(wù)器基礎(chǔ)知識(shí)
a.代理服務(wù)器
一般是指局域網(wǎng)內(nèi)部的機(jī)器通過代理服務(wù)器發(fā)送請(qǐng)求到互聯(lián)網(wǎng)上的服務(wù)器,代理服務(wù)器一般作用在客戶端。應(yīng)用比如:GoAgent,F(xiàn)Q神器.一個(gè)完整的代理請(qǐng)求過程為:客戶端首先與代理服務(wù)器創(chuàng)建連接,接著根據(jù)代理服務(wù)器所使用的代理協(xié)議,請(qǐng)求對(duì)目標(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ù)器之間的另一臺(tái)服務(wù)器,有了它之后,瀏覽器不是直接到Web服務(wù)器去取回網(wǎng)頁(yè)而是向代理服務(wù)器發(fā)出請(qǐng)求,信號(hào)會(huì)先送到代理服務(wù)器,由代理服務(wù)器來取回瀏覽器所需要的信息并傳送給你的瀏覽器。
b.正向代理
是一個(gè)位于客戶端和原始服務(wù)器(origin server)之間的服務(wù)器,為了從原始服務(wù)器取得內(nèi)容,客戶端向代理發(fā)送一個(gè)請(qǐng)求并指定目標(biāo)(原始服務(wù)器),然后代理向原始服務(wù)器轉(zhuǎn)交請(qǐng)求并將獲得的內(nèi)容返回給客戶端。客戶端必須要進(jìn)行一些特別的設(shè)置才能使用正向代理。
c.反向代理
在服務(wù)器端接受客戶端的請(qǐng)求,然后把請(qǐng)求分發(fā)給具體的服務(wù)器進(jìn)行處理,然后再將服務(wù)器的響應(yīng)結(jié)果反饋給客戶端。Nginx就是其中的一種反向代理服務(wù)器軟件。 Nginx: Nginx ("engine x") ,Nginx (“engine x”) 是俄羅斯人Igor Sysoev(塞索耶夫)編寫的一款高性能的 HTTP 和反向代理服務(wù)器。也是一個(gè)IMAP/POP3/SMTP代理服務(wù)器;也就是說,Nginx本身就可以托管網(wǎng)站,進(jìn)行HTTP服務(wù)處理,也可以作為反向代理服務(wù)器使用。
客戶端必須設(shè)置正向代理服務(wù)器,當(dāng)然前提是要知道正向代理服務(wù)器的IP地址,還有代理程序的端口。
反向代理正好與正向代理相反,對(duì)于客戶端而言代理服務(wù)器就像是原始服務(wù)器,并且客戶端不需要進(jìn)行任何特別的設(shè)置??蛻舳讼蚍聪虼淼拿臻g(name-space)中的內(nèi)容發(fā)送普通請(qǐng)求,接著反向代理將判斷向何處(原始服務(wù)器)轉(zhuǎn)交請(qǐng)求,并將獲得的內(nèi)容返回給客戶端。
2.Nginx是什么?為什么選擇Nginx?有什么優(yōu)勢(shì)?
Nginx是一個(gè)高性能的 HTTP 和 反向代理 服務(wù)器,也是一個(gè) IMAP/POP3/SMTP 代理服務(wù)器。因它的穩(wěn)定性、豐富的功能集、示例配置文件和低系統(tǒng)資源的消耗而聞名。2011年6月1日,nginx 1.0.4發(fā)布。
基于以下特性選擇Nginx:
a.處理請(qǐng)求相應(yīng)很快
這表現(xiàn)在兩個(gè)方面:一方面,在正常情況下,單次請(qǐng)求會(huì)得到更快的響應(yīng);另一方面,在高峰期(如有數(shù)以萬計(jì)的并發(fā)請(qǐng)求),Nginx可以比其他Web服務(wù)器更快地響應(yīng)請(qǐng)求。
b.高擴(kuò)展性、跨平臺(tái)
Nginx的設(shè)計(jì)極具擴(kuò)展性,它完全是由多個(gè)不同功能、不同層次、不同類型且耦合度極低的模塊組成。因此,當(dāng)對(duì)某一個(gè)模塊修復(fù)Bug或進(jìn)行升級(jí)時(shí),可以專注于模塊自身,無須在意其他。而且在HTTP模塊中,還設(shè)計(jì)了HTTP過濾器模塊:一個(gè)正常的HTTP模塊在處理完請(qǐng)求后,會(huì)有一串HTTP過濾器模塊對(duì)請(qǐng)求的結(jié)果進(jìn)行再處理。這樣,當(dāng)我們開發(fā)一個(gè)新的HTTP模塊時(shí),不但可以使用諸如HTTP核心模塊、events模塊、log模塊等不同層次或者不同類型的模塊,還可以原封不動(dòng)地復(fù)用大量已有的HTTP過濾器模塊。這種低耦合度的優(yōu)秀設(shè)計(jì),造就了Nginx龐大的第三方模塊,當(dāng)然,公開的第三方模塊也如官方發(fā)布的模塊一樣容易使用。
Nginx的模塊都是嵌入到二進(jìn)制文件中執(zhí)行的,無論官方發(fā)布的模塊還是第三方模塊都是如此。這使得第三方模塊一樣具備極其優(yōu)秀的性能,充分利用Nginx的高并發(fā)特性,因此,許多高流量的網(wǎng)站都傾向于開發(fā)符合自己業(yè)務(wù)特性的定制模塊。
c.高可靠性(用于反向代理,宕機(jī)的概率極其低微)
高可靠性是我們選擇Nginx的最基本條件,因?yàn)镹ginx的可靠性是大家有目共睹的,很多家高流量網(wǎng)站都在核心服務(wù)器上大規(guī)模使用Nginx。Nginx的高可靠性來自于其核心框架代碼的優(yōu)秀設(shè)計(jì)、模塊設(shè)計(jì)的簡(jiǎn)單性;另外,官方提供的常用模塊都非常穩(wěn)定,每個(gè)worker進(jìn)程相對(duì)獨(dú)立,master進(jìn)程在1個(gè)worker進(jìn)程出錯(cuò)時(shí)可以快速“拉起”新的worker子進(jìn)程提供服務(wù)。
d.低內(nèi)存消耗
一般情況下,10 000個(gè)非活躍的HTTP Keep-Alive連接在Nginx中僅消耗2.5MB的內(nèi)存,這是Nginx支持高并發(fā)連接的基礎(chǔ)。
e.單機(jī)支持10萬以上的并發(fā)連接
這是一個(gè)非常重要的特性!隨著互聯(lián)網(wǎng)的迅猛發(fā)展和互聯(lián)網(wǎng)用戶數(shù)量的成倍增長(zhǎng),各大公司、網(wǎng)站都需要應(yīng)付海量并發(fā)請(qǐng)求,一個(gè)能夠在峰值期頂住10萬以上并發(fā)請(qǐng)求的Server,無疑會(huì)得到大家的青睞。理論上,Nginx支持的并發(fā)連接上限取決于內(nèi)存,10萬遠(yuǎn)未封頂。當(dāng)然,能夠及時(shí)地處理更多的并發(fā)請(qǐng)求,是與業(yè)務(wù)特點(diǎn)緊密相關(guān)的。
f.熱部署
master管理進(jìn)程與worker工作進(jìn)程的分離設(shè)計(jì),使得Nginx能夠提供熱部署功能,即可以在7×24小時(shí)不間斷服務(wù)的前提下,升級(jí)Nginx的可執(zhí)行文件。當(dāng)然,它也支持不停止服務(wù)就更新配置項(xiàng)、更換日志文件等功能。
g.最自由的BSD許可協(xié)議
這是Nginx可以快速發(fā)展的強(qiáng)大動(dòng)力。BSD許可協(xié)議不只是允許用戶免費(fèi)使用Nginx,它還允許用戶在自己的項(xiàng)目中直接使用或修改Nginx源碼,然后發(fā)布。這吸引了無數(shù)開發(fā)者繼續(xù)為Nginx貢獻(xiàn)自己的智慧
以上7個(gè)特點(diǎn)當(dāng)然不是Nginx的全部,擁有無數(shù)個(gè)官方功能模塊、第三方功能模塊使得Nginx能夠滿足絕大部分應(yīng)用場(chǎng)景,這些功能模塊間可以疊加以實(shí)現(xiàn)更加強(qiáng)大、復(fù)雜的功能,有些模塊還支持Nginx與Perl、Lua等腳本語言集成工作,大大提高了開發(fā)效率。這些特點(diǎn)促使用戶在尋找一個(gè)Web服務(wù)器時(shí)更多考慮Nginx。
選擇Nginx的核心理由還是它能在支持高并發(fā)請(qǐng)求的同時(shí)保持高效的服務(wù)。
本文題目:Nginx是什么?為什么選擇Nginx做服務(wù)器軟件?
當(dāng)前地址:http://jinyejixie.com/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)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容