開發(fā)漫談:BAT都在用的Nginx到底是啥?

責(zé)任編輯:editor004

作者:魯暢

2016-11-09 10:57:30

摘自:中關(guān)村在線

如果你混跡IT圈兒,你可能聽說(shuō)過(guò),或見(jiàn)過(guò)Nginx,IT技術(shù)人員對(duì)她都會(huì)有所耳聞,云計(jì)算工程師因?yàn)橐獞?yīng)對(duì)負(fù)載均衡問(wèn)題

如果你混跡IT圈兒,你可能聽說(shuō)過(guò),或見(jiàn)過(guò)Nginx,IT技術(shù)人員對(duì)她都會(huì)有所耳聞,云計(jì)算工程師因?yàn)橐獞?yīng)對(duì)負(fù)載均衡問(wèn)題,需要更深入的了解Nginx,而Nginx也是百度、阿里、騰訊等企業(yè)IT架構(gòu)中的常客。今天,筆者就與大家一起來(lái)探究一下,Nginx究竟是什么。

Nginx是什么?

根據(jù)維基百科的定義,Nginx(發(fā)音同engine x)是一個(gè)網(wǎng)頁(yè)服務(wù)器,它能反向代理HTTP,HTTPS,SMTP,POP和IMAP的協(xié)議鏈接,以及一個(gè)負(fù)載均衡器和一個(gè)HTTP緩存。

開發(fā)漫談:BAT都在用的Nginx到底是啥?

其初始版本發(fā)于12年前(2004年10月4日),起初只是供俄羅斯大型門戶網(wǎng)站及搜索引擎Rambler(Рамблер)使用,后再2011年俄羅斯Nginx公司獲得300萬(wàn)美元風(fēng)投,也在國(guó)內(nèi)外獲得了大量的追隨者,國(guó)內(nèi)的BAT、新浪、搜狐都有應(yīng)用,國(guó)外的Facebook、TechCrunch、Groupon和WordPress等公司,也是Nginx的簇?fù)怼?/p>

開發(fā)漫談:BAT都在用的Nginx到底是啥?


技術(shù)創(chuàng)始人為為Igor Sysoev

此軟件BSD-like協(xié)議下發(fā)行,可以在UNIX、GNU/Linux、BSD、Mac OS X、Solaris,以及Microsoft Windows等操作系統(tǒng)中均可運(yùn)行。技術(shù)創(chuàng)始人為為Igor Sysoev。

特性如何

Nginx之所以能夠受到世界各大互聯(lián)網(wǎng)公司的青睞,當(dāng)然是基于前面提過(guò)的在BSD-like協(xié)議下發(fā)行,更重要的還是Nginx擁有高性能的特點(diǎn),主要體現(xiàn)在占用內(nèi)存少,穩(wěn)定性高等方面。

正因?yàn)檫@個(gè)特點(diǎn),Nginx在四年前,就被某寶內(nèi)部系統(tǒng)廣泛使用。同時(shí)Nginx在處理并發(fā)服務(wù)能力方面十分優(yōu)異,整體采用模塊化設(shè)計(jì),在處理負(fù)載均衡方面有著出色表現(xiàn)。根據(jù)Nginx的官方測(cè)試結(jié)果顯示,Nginx可以支持五萬(wàn)個(gè)平行鏈接,而在實(shí)際運(yùn)作中,可以支持2萬(wàn)至4萬(wàn)個(gè)平行鏈接。

架構(gòu)如何

Nginx高性能的特點(diǎn)很大原因要?dú)w功于Nginx的架構(gòu)與設(shè)計(jì)方式。當(dāng)我們啟動(dòng)Nginx之后,會(huì)出現(xiàn)一個(gè)Master進(jìn)程和多個(gè)Wocker進(jìn)程,Master進(jìn)程主要用來(lái)管理Wocker進(jìn)程,放Wocker進(jìn)程異常退出后,會(huì)自動(dòng)重新啟動(dòng)新的Wocker進(jìn)程。多個(gè)Wocker進(jìn)程之間是對(duì)等的,同時(shí)也是相互獨(dú)立的。

開發(fā)漫談:BAT都在用的Nginx到底是啥?


Nginx架構(gòu)圖(圖片來(lái)自網(wǎng)絡(luò))

 

另外,Nginx使用了最新的epoll和kqueue網(wǎng)絡(luò)IO模型,這種模型在高并發(fā)的情況下,時(shí)間模型能夠有更高的效率。與多線程相比,這種事件處理方式優(yōu)勢(shì)明顯,能夠不需要?jiǎng)?chuàng)建線程,每個(gè)請(qǐng)求占用的內(nèi)存也很少,沒(méi)有上下文切換,事件處理十分輕量級(jí)。

結(jié)束語(yǔ)

五年前,Nginx技術(shù)創(chuàng)始人做了家公司,沖擊了微軟IIS(互聯(lián)網(wǎng)信息服務(wù)器Internet Information Server),如今,互聯(lián)網(wǎng)在快速發(fā)展中,高并發(fā)、高負(fù)載情況愈加平常,Nginx依然煥發(fā)著自己的活力。

如果你混跡IT圈兒,你可能聽說(shuō)過(guò),或見(jiàn)過(guò)Nginx,IT技術(shù)人員對(duì)她都會(huì)有所耳聞,云計(jì)算工程師因?yàn)橐獞?yīng)對(duì)負(fù)載均衡問(wèn)題,需要更深入的了解Nginx,而Nginx也是百度、阿里、騰訊等企業(yè)IT架構(gòu)中的???。今天,筆者就與大家一起來(lái)探究一下,Nginx究竟是什么。

Nginx是什么?

根據(jù)維基百科的定義,Nginx(發(fā)音同engine x)是一個(gè)網(wǎng)頁(yè)服務(wù)器,它能反向代理HTTP,HTTPS,SMTP,POP和IMAP的協(xié)議鏈接,以及一個(gè)負(fù)載均衡器和一個(gè)HTTP緩存。

開發(fā)漫談:BAT都在用的Nginx到底是啥?

其初始版本發(fā)于12年前(2004年10月4日),起初只是供俄羅斯大型門戶網(wǎng)站及搜索引擎Rambler(Рамблер)使用,后再2011年俄羅斯Nginx公司獲得300萬(wàn)美元風(fēng)投,也在國(guó)內(nèi)外獲得了大量的追隨者,國(guó)內(nèi)的BAT、新浪、搜狐都有應(yīng)用,國(guó)外的Facebook、TechCrunch、Groupon和WordPress等公司,也是Nginx的簇?fù)怼?/p>

開發(fā)漫談:BAT都在用的Nginx到底是啥?


技術(shù)創(chuàng)始人為為Igor Sysoev

此軟件BSD-like協(xié)議下發(fā)行,可以在UNIX、GNU/Linux、BSD、Mac OS X、Solaris,以及Microsoft Windows等操作系統(tǒng)中均可運(yùn)行。技術(shù)創(chuàng)始人為為Igor Sysoev。

特性如何

Nginx之所以能夠受到世界各大互聯(lián)網(wǎng)公司的青睞,當(dāng)然是基于前面提過(guò)的在BSD-like協(xié)議下發(fā)行,更重要的還是Nginx擁有高性能的特點(diǎn),主要體現(xiàn)在占用內(nèi)存少,穩(wěn)定性高等方面。

正因?yàn)檫@個(gè)特點(diǎn),Nginx在四年前,就被某寶內(nèi)部系統(tǒng)廣泛使用。同時(shí)Nginx在處理并發(fā)服務(wù)能力方面十分優(yōu)異,整體采用模塊化設(shè)計(jì),在處理負(fù)載均衡方面有著出色表現(xiàn)。根據(jù)Nginx的官方測(cè)試結(jié)果顯示,Nginx可以支持五萬(wàn)個(gè)平行鏈接,而在實(shí)際運(yùn)作中,可以支持2萬(wàn)至4萬(wàn)個(gè)平行鏈接。

架構(gòu)如何

Nginx高性能的特點(diǎn)很大原因要?dú)w功于Nginx的架構(gòu)與設(shè)計(jì)方式。當(dāng)我們啟動(dòng)Nginx之后,會(huì)出現(xiàn)一個(gè)Master進(jìn)程和多個(gè)Wocker進(jìn)程,Master進(jìn)程主要用來(lái)管理Wocker進(jìn)程,放Wocker進(jìn)程異常退出后,會(huì)自動(dòng)重新啟動(dòng)新的Wocker進(jìn)程。多個(gè)Wocker進(jìn)程之間是對(duì)等的,同時(shí)也是相互獨(dú)立的。

開發(fā)漫談:BAT都在用的Nginx到底是啥?


Nginx架構(gòu)圖(圖片來(lái)自網(wǎng)絡(luò))

另外,Nginx使用了最新的epoll和kqueue網(wǎng)絡(luò)IO模型,這種模型在高并發(fā)的情況下,時(shí)間模型能夠有更高的效率。與多線程相比,這種事件處理方式優(yōu)勢(shì)明顯,能夠不需要?jiǎng)?chuàng)建線程,每個(gè)請(qǐng)求占用的內(nèi)存也很少,沒(méi)有上下文切換,事件處理十分輕量級(jí)。

結(jié)束語(yǔ)

五年前,Nginx技術(shù)創(chuàng)始人做了家公司,沖擊了微軟IIS(互聯(lián)網(wǎng)信息服務(wù)器Internet Information Server),如今,互聯(lián)網(wǎng)在快速發(fā)展中,高并發(fā)、高負(fù)載情況愈加平常,Nginx依然煥發(fā)著自己的活力。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)