日本高清免费一本视频100禁_在线不卡欧美精品一区二区三区_国产一区二区好的精华液_中文综合在线_国产啊啊啊视频在线观看_大地资源网免费观看高清

IT之道-艾銻知道

解剖Nginx服務(wù)器架構(gòu)-服務(wù)器運(yùn)維


2020-05-27 17:37 作者:艾銻無(wú)限 瀏覽量:

解剖Nginx服務(wù)器架構(gòu)-服務(wù)器運(yùn)維

 
艾銻無(wú)限是一家專門做企業(yè)網(wǎng)管外包服務(wù)的機(jī)構(gòu),通過(guò)線上+線下結(jié)合的服務(wù)方式,為企業(yè)提供電腦維修、辦公設(shè)備維護(hù)、系統(tǒng)維護(hù)、網(wǎng)絡(luò)與數(shù)據(jù)安全、服務(wù)器運(yùn)維等專業(yè)的網(wǎng)管服務(wù)外包公司
 
IT服務(wù) 一.Nginx的模塊化
模塊化結(jié)構(gòu)的思想是一個(gè)很久的概念,但也正是成熟的思想造就了Nginx的巨大優(yōu)越性。
我們知道Nginx從總體上來(lái)講是有許多個(gè)模塊構(gòu)成的。習(xí)慣將Nginx分為5大模塊分別為:核心模塊,標(biāo)準(zhǔn)HTTP模塊,可選HTTP模塊,郵件服務(wù)模塊和第三方模塊。
IMG_257
這5個(gè)模塊由上到下重要性一次遞減。

(1)核心模塊;
核心模塊是Nginx服務(wù)器正常運(yùn)行必不可少的模塊,如同操作系統(tǒng)的內(nèi)核。它提供了Nginx最基本的核心服務(wù)。像進(jìn)程管理、權(quán)限控制、錯(cuò)誤日志記錄等;

(2)標(biāo)準(zhǔn)HTTP模塊;
標(biāo)準(zhǔn)HTTP模塊支持標(biāo)準(zhǔn)的HTTP的功能;

(3)可選HTTP模塊;
可選HTTP模塊主要用于擴(kuò)展標(biāo)準(zhǔn)的HTTP功能,讓Nginx能處理一些特殊的服務(wù);

(4)郵件服務(wù)模塊;
郵件服務(wù)模塊主要用于支持Nginx的郵件服務(wù);
(5)第三方模塊;
第三方模塊是為了擴(kuò)展Nginx服務(wù)器應(yīng)用,完成開發(fā)者想要的功能;
*******Nginx中的模塊命名有自己的習(xí)慣*********
一般以Ngx_作為前綴,——module作為后綴,中間使用一個(gè)或者多個(gè)英文單詞描述模塊的工能,例如Ngx_core_module表示該模塊提供Nginx的核心功能等;
具體各個(gè)模塊中包含哪些模塊可以自己去源碼中查詢,這里略過(guò);

二.Nginx的web請(qǐng)求處理機(jī)制
從架構(gòu)設(shè)計(jì)上說(shuō),Nginx服務(wù)器是與眾不同的。其一在于它的模塊化設(shè)計(jì);其二也是更重要的一點(diǎn)在于它對(duì)與客戶端請(qǐng)求的處理機(jī)制上;
web服務(wù)器和客戶端是一對(duì)多的關(guān)系,Web服務(wù)器必須有能力同時(shí)為多個(gè)客戶端提供服務(wù)。一般來(lái)說(shuō)完成并行處理請(qǐng)求工作有三種方式:
1.多進(jìn)程方式;
2.多線程方式;
3.異步方式;
這里簡(jiǎn)單說(shuō)明一下這三種方式:
(1)多進(jìn)程方式
多進(jìn)程方式指,服務(wù)器每當(dāng)收到一個(gè)客戶端時(shí)。就有服務(wù)器主進(jìn)程生成一個(gè)子進(jìn)程出來(lái)和客戶端建立連接進(jìn)行交互。指導(dǎo)連接斷開。該子進(jìn)程就結(jié)束了。
多進(jìn)程方式的優(yōu)點(diǎn)是設(shè)計(jì)簡(jiǎn)單,各個(gè)子進(jìn)程相對(duì)獨(dú)立,處理客戶端請(qǐng)求時(shí)彼此不受干擾;缺點(diǎn)是操作系統(tǒng)生成一個(gè)子進(jìn)程需要進(jìn)行內(nèi)存復(fù)制等操作,在資源和時(shí)間上會(huì)產(chǎn)生一定的開銷;當(dāng)有大量請(qǐng)求時(shí),會(huì)導(dǎo)致系統(tǒng)性能下降;
(2)多線程方式
多線程方式指每當(dāng)服務(wù)器接收到一個(gè)請(qǐng)求后,會(huì)由服務(wù)器主進(jìn)程派生出一個(gè)線程出來(lái)和客戶端進(jìn)行交互。由于操作系統(tǒng)產(chǎn)生出一個(gè)線程的開銷遠(yuǎn)遠(yuǎn)小于一個(gè)進(jìn)程的開銷。故多線程方式在很大程度上減輕了Web服務(wù)器對(duì)系統(tǒng)資源的要求。但同時(shí)由于多個(gè)線程位于一個(gè)進(jìn)程內(nèi),可以訪問(wèn)同樣的內(nèi)存空間。所以需要開發(fā)者自己對(duì)內(nèi)存進(jìn)程管理,增大了難度。

(3)異步方式
異步方式適合多進(jìn)程和多線程完全不同的一種處理客戶端請(qǐng)求的方式。這里有幾個(gè)概念我們需要熟悉一下:同步,異步,阻塞,非阻塞;
在網(wǎng)絡(luò)通信中同步和異步是描述通信模式的概念。
同步:發(fā)送方發(fā)送完請(qǐng)求后,需要等待接收到接收方發(fā)回的響應(yīng),才能發(fā)送下一個(gè)請(qǐng)求;所有請(qǐng)求在服務(wù)端得到同步,發(fā)送方和接收方的步調(diào)是一致的;
異步:和同步機(jī)制相反,在異步機(jī)制中,發(fā)送方發(fā)出一個(gè)請(qǐng)求后,不等接收方響應(yīng)這個(gè)請(qǐng)求,就繼續(xù)發(fā)送下一個(gè)請(qǐng)求;所有來(lái)自發(fā)送方的請(qǐng)求形成一個(gè)隊(duì)列,接收方處理完成后通知發(fā)送方;
在進(jìn)程處理調(diào)度方式上用阻塞與非阻塞。在網(wǎng)絡(luò)通信中主要指套接字socket的阻塞和非阻塞,而socket的實(shí)質(zhì)就是IO操作。
阻塞:調(diào)用結(jié)果返回之前,當(dāng)前線程從運(yùn)行狀態(tài)被掛起,一直等到調(diào)用結(jié)果返回之后,才進(jìn)入就緒狀態(tài),獲取CPU后繼續(xù)執(zhí)行。
非阻塞:和阻塞方式正好相反,如果調(diào)用結(jié)果不能馬上返回,當(dāng)前線程也不會(huì)馬上返回,而是立即返回執(zhí)行下一個(gè)調(diào)用。
因此就衍生出4中方式:同步阻塞,同步非阻塞,異步阻塞,異步非阻塞
這里簡(jiǎn)單解釋一下異步非阻塞:發(fā)送方向接收方發(fā)送請(qǐng)求后,不用等待響應(yīng),可以繼續(xù)其他工作;接收方處理請(qǐng)求時(shí)進(jìn)行的IO操作如果不能馬上得到結(jié)果,也不必等待,而是馬上返回去去做其他事情。當(dāng)IO操作完成以后,將完成狀態(tài)和結(jié)果通知接收方,接收方再響應(yīng)發(fā)送方。

與此同時(shí)Nginx服務(wù)器處理請(qǐng)求是怎樣的呢???
Nginx服務(wù)器的一個(gè)顯著的優(yōu)勢(shì)就是能夠同時(shí)處理大量的并發(fā)請(qǐng)求。它結(jié)合多進(jìn)程機(jī)制和異步機(jī)制。異步機(jī)制使用的是異步非阻塞方式。(Master-Worker)。
每個(gè)工作進(jìn)程使用異步非阻塞方式,可以處理多個(gè)客戶端請(qǐng)求。當(dāng)某個(gè)工作進(jìn)程接收到客戶端的請(qǐng)求以后,調(diào)用IO進(jìn)行處理,如果不能立即得到結(jié)果,就去處理其他的請(qǐng)求;而客戶端在此期間也無(wú)需等待響應(yīng),可以去處理其他事情;當(dāng)IO返回時(shí),就會(huì)通知此工作進(jìn)程;該進(jìn)程得到通知,暫時(shí)掛起當(dāng)前處理的失誤去響應(yīng)客戶端請(qǐng)求。
也就是:

Nginx采用異步非阻塞方式來(lái)處理請(qǐng)求,處理請(qǐng)求具體到系統(tǒng)底層就是讀寫事件(所謂阻塞調(diào)用方式即請(qǐng)求事件還沒(méi)準(zhǔn)備好,線程只能一直去等,等事件準(zhǔn)備好了再處理;而非阻塞即事件沒(méi)準(zhǔn)備好,馬上返回ENGAIN,告訴你事件還沒(méi)準(zhǔn)準(zhǔn)備好,而在這期間可以先去做其他事,再回頭看看事件準(zhǔn)備好了嗎,時(shí)不時(shí)會(huì)看,需要的開銷也是不小的)
異步可以理解為循環(huán)處理多個(gè)準(zhǔn)備好的事件,不會(huì)導(dǎo)致無(wú)謂的資源浪費(fèi),當(dāng)有更多的并發(fā)數(shù)只會(huì)占用更多的內(nèi)存而已;

IT服務(wù)三.Nginx服務(wù)器的實(shí)踐驅(qū)動(dòng)模型
從上面我們可以知道,Nginx服務(wù)器的工作進(jìn)程調(diào)用IO后,就取進(jìn)行其他工作了;當(dāng)IO調(diào)用返回后,會(huì)通知工作進(jìn)程。但I(xiàn)O調(diào)用時(shí)如何把自己的狀態(tài)通知給工作進(jìn)程的呢??
一般解決這個(gè)問(wèn)題有兩種方法:
(1)讓工作進(jìn)程在進(jìn)行其他工作的過(guò)程中間隔一段時(shí)間就去檢查一下IO的狀態(tài),如果完成就響應(yīng)客戶端,如果未完成,繼續(xù)工作。
(2)IO調(diào)用在完成后能主動(dòng)通知工作進(jìn)程。
當(dāng)然最好的就是用第二種方法了;像select/poll/epoll等這樣的系統(tǒng)調(diào)用就是用來(lái)支持第二種解決方案的。這些系統(tǒng)調(diào)用也常被稱為事件驅(qū)動(dòng)模型。他們提供了一種機(jī)制就只讓進(jìn)程同時(shí)處理多個(gè)并發(fā)請(qǐng)求,不用關(guān)心IO調(diào)用的具體狀態(tài)。IO調(diào)用完全由事件驅(qū)動(dòng)模型來(lái)管理。

Nginx中的事件驅(qū)動(dòng)模型
就是用事件驅(qū)動(dòng)處理庫(kù)(多路IO復(fù)用),最常用的就是select模型,poll模型,epoll模型。
關(guān)于這三個(gè)模型的詳解在這里可以看到:https://segmentfault.com/a/1190000003063859

IT服務(wù)四.架構(gòu)簡(jiǎn)介
通過(guò)這個(gè)上面的簡(jiǎn)單講解,再加上服務(wù)器的架構(gòu)的了解,可以對(duì)Nginx有一個(gè)簡(jiǎn)單的了解,希望對(duì)之后的源碼剖析有幫助。
IMG_258
大致上Nginx的架構(gòu)就是這樣:
1.Nginx啟動(dòng)后,會(huì)產(chǎn)生一個(gè)主進(jìn)程,主進(jìn)程執(zhí)行一系列的工作后會(huì)產(chǎn)生一個(gè)或者多個(gè)工作進(jìn)程;
2.在客戶端請(qǐng)求動(dòng)態(tài)站點(diǎn)的過(guò)程中,Nginx服務(wù)器還涉及和后端服務(wù)器的通信。Nginx將接收到的Web請(qǐng)求通過(guò)代理轉(zhuǎn)發(fā)到后端服務(wù)器,由后端服務(wù)器進(jìn)行數(shù)據(jù)處理和組織;
3.Nginx為了提高對(duì)請(qǐng)求的響應(yīng)效率,降低網(wǎng)絡(luò)壓力,采用了緩存機(jī)制,將歷史應(yīng)答數(shù)據(jù)緩存到本地。保障對(duì)緩存文件的快速訪問(wèn);

##工作進(jìn)程##
工作進(jìn)程的主要工作有以下幾項(xiàng):
接收客戶端請(qǐng)求;
將請(qǐng)求一次送入各個(gè)功能模塊進(jìn)行過(guò)濾處理;
IO調(diào)用,獲取響應(yīng)數(shù)據(jù);
與后端服務(wù)器通信,接收后端服務(wù)器處理結(jié)果;

數(shù)據(jù)緩存
響應(yīng)客戶端請(qǐng)求;

##進(jìn)程交互##
Nginx服務(wù)器在使用Master-Worker模型時(shí),會(huì)涉及到主進(jìn)程和工作進(jìn)程的交互和工作進(jìn)程之間的交互。這兩類交互都依賴于管道機(jī)制。
1.Master-Worker交互
這條管道與普通的管道不同,它是由主進(jìn)程指向工作進(jìn)程的單向管道,包含主進(jìn)程向工作進(jìn)程發(fā)出的指令,工作進(jìn)程ID等;同時(shí)主進(jìn)程與外界通過(guò)信號(hào)通信;
2.worker-worker交互
這種交互是和Master-Worker交互是基本一致的。但是會(huì)通過(guò)主進(jìn)程。工作進(jìn)程之間是相互隔離的,所以當(dāng)工作進(jìn)程W1需要向工作進(jìn)程W2發(fā)指令時(shí),首先找到W2的進(jìn)程ID,然后將正確的指令寫入指向W2的通道。W2收到信號(hào)采取相應(yīng)的措施。

 

相關(guān)文章

IT外包服務(wù)
二維碼 關(guān)閉
主站蜘蛛池模板: 久久久精品人妻一区二区三区蜜桃_美女视频在线观看黄_大地8在线观看免费影视大全_999人在线精品播放视频_日韩视频一二区_亚洲同人在线播放_天堂精品在线_午夜国产精品成人 | 欧美特级黄色片_字幕网91_av亚洲一区_欧美一区二区性_天天躁日日躁AAAAXXXX_亚洲欧美黑人猛交群_一级不卡免费视频_日本一本一区 黄色特级片_国产乱人伦精品一区二区_毛片一区二区三区_一级做a爱片久久_亚洲精品乱码久久久久久按摩观_久久久久久久国产精品影院_caoporn国产_全球AV集中精品导航福利 | 色性导航_欧美一区二区三区的_成人一区视频_91网站免费入口_国产精品外围在线观看_亚洲色无码播放_4虎最新网址_成人在线观看免费高清 | www.五月激情.com_国产99视频精品免费视看6_天天在线看无码AV片_在线地址一地址二免费看_88国产精品久久现线拍久青草_国产一区在_欧美黄色一区_三区高清视频 | 久久夜夜操_欧美午夜寂寞影院_老美黑人狂躁亚洲女_欧美a级黄_青青草视频免费看_男人深夜影院_欧美性黑人极品hd_69影院少妇在线观看 | 欧美a不卡_亚洲综合字幕_国产亚洲啪啪_麻豆视频91传媒视频在线观看_午夜男女很黄的视频_JAPANESEXXXX乱子伦_免费国精产品自偷自偷免费看_18禁黄污吃奶免费看网站 | 精品国产一区二区三区2021_啊轻点灬大ji巴太粗太长了网站_91免费黄色软件_99精品久久99久久久久胖女人_亚洲成a∧人片在线播放无码_岳肥肉紧嫩嫩伦69_久久久久青草线蕉亚洲_国产无夜激无码av毛片 | 精品av中文字幕在线毛片_中国一级片_日批一级片_高清成人爽a毛片免费_美景之屋5在线观看_欧美乱妇无码毛片_中文亚洲成A人片在线观看_国产成人无码A区在线观看视频不卡 | 中日韩精品无码一区二区三区_国产精品福利视频一区_国产成人一区二区视频免费_国产精品麻豆视频国产馆_日本国产一区二区三区在线观看_free国产粉嫩熟妇xxxhd_国产精品无码久久综合_激情影院内射美女 | 天天爱天天做天天爽歪歪_视频一区二区中文字幕_瑞典性xxxxxhd高清_爱爱视频一区_婷婷五月开心色婷在线尤物_日韩精品一区二区三区_久久999精品_九一在线啪 | 亚洲肥老太bbw_久久夜靖品_成年无码专区在线蜜芽TV_免费在线一区二区三区_热久久久_av天天av_国内精品九九久久精品_国产精品情侣呻吟对白视频 | h无码精品动漫在线观看_超级色观看在线_国内揄拍国内精品浪潮av_美女的烦恼视频播放网站_日韩一区二区在线看_精品国产粉嫩内射白浆内射双马尾_国产二级av_中文字幕亚洲精品久久AV | 亚洲a∨无码一区二区三区_亚洲av片不卡无码天堂_日本韩国在线视频_国产影视一区二区三区_国产精品亚洲一区二区三区天天看_色综合天天综合天天更新_精品在线你懂的_在线观看www. | 成人97精品毛片免费看_中国china体内裑精亚洲片_jiujiure国产_宅男在线免费视频_精品视频久久_日本伊人中文字幕_女子被狂揉下部羞羞图片_精品久久香蕉国产线看观看亚洲 | 红杏一区二区三区_午夜理论片yy6080私人影院_少妇被爽到高潮喷水久久欧美精品_久久国产精品色av免费看_久久瑟瑟_99热这里只有精品免费_久久艹艹艹_好色一区 | 成人精品免费毛片7778_在线吴梦梦视频一区二区_午夜手机看片_欧美一级特黄视频_欧美乱码视频_三人一起玩弄娇妻高潮_影音先锋中文字幕无码资源站_狠狠色综合久久丁香婷婷| 天堂中文字幕在线_欧美最猛性xxxxx(亚洲精品)_99不卡视频_性欧美丰满熟妇XXXX性_国产乱码卡二卡三卡4_欧美性一级_国产精品一区二区无线_国产美女爆乳呻吟视频 | 奇米777官网_免费99精品国产自在在线_国产精品WWW夜色视频_国产美女无遮挡免费_9999视频_特级做爰片毛片免费看小说_国产白浆二区二区精品视频_欧美成人黑人xx视频免费观看 | 91爱国产_丰满少妇被猛烈进入高清播放软件_国产一区二区三区_久久亚洲国产_91香蕉亚洲精品_亚洲夜夜欢a∨一区二区三区_www.日本国产_亚洲一区二区中文播放av | 日本久久精品一区_亚洲黄片在线免费_日本japanesexxxxx乱_久久久这里有精品_亚洲AV成人一区二区三区_亚洲狠狠婷婷综合久久久_欧美+日本+国产+在线观看_精品国产美女AV久久久久 | 97人人爱_日本高清在线一区二区三区_JAVAPARSERHD高潮_CHINESE国产AV巨作VIDEOS_一级国产aa片免费观看_特级黄色片视频_欧美丰满熟妇xxxx性ppx人_日本老师xxxx18学生 | 西西大尺度美軳人人体bt_蜜臀在线一区_欧美三级午夜理伦三级富婆_亚洲中文无码线在线观看_亚洲性夜色噜噜噜7777_女人做爰高潮时叫要精免费的视频_大黄网站免费在线观看_亚洲天堂岛国片 | 6969精品视频在线观看_四虎影院在线视频_大青草久久久蜜臀av久久_亚洲操比_日本一区二区三区爆乳_亚洲va韩国va欧美va_91在线亚洲_国产视热频国只有精品 | 亚洲综合一区无码精品_91狼人社区_人人做人人爽国产视_日韩欧美卡一卡二卡新区_91视频成人入口_国内永久福利在线视频图片_在线观看欧美成人_色综合久久综合 | 亚洲欧洲精品一区二区三区波多野_日韩区一区二_亚洲视频a区_我学生的妈妈在线_五十路熟妇高熟无码视频_91懂色_国产毛片毛片毛片毛片_JAPAN丰满人妻VIDEOS 久久久久高清视频_52avaⅴ我爱haose免费视频_亚洲日韩成人性av网站_黄色影视免费看_JVID亚洲精品无圣光图套_久久国产欧美一区二区精品爱欲_国产精品96久久久久久久_亚洲天堂区 | 特级片在线免费观看_亚州精品天堂中文字幕_97精品久久天干天天天按摩_小雪好紧好滑好湿好爽视频_99青娱乐_亚洲mv大片欧洲mv大片精品_国色天香一区二区_7777欧美日激情日韩精品 | 日本50岁熟妇XXXX_成人爽视频_神马久草_欧美日韩黄色一级片_亚洲精品一线二线三线无人区_黄色成人影院在线观看_亚洲欧美激情精品一区二区_扒开末成年粉嫩的小缝图片 | 亚洲国产熟妇无码日韩_国产亚洲欧美日韩国产片_女人天天干夜夜爽视频_日韩在线观看视频一区二区三区_中国XVIDEOS厕所偷窥_狠狠色狠狠色综合日日不卡_在线观看免费亚洲_国产又色又爽又黄的网站在线 | 黄色特级视频_国产天堂久久_欧美の无码国产の无码影院_亚洲精欧美一区二区精品_美乳在线播放_久久精品日产第一区二区三区的功能_免费在线看成人av_高清一区二区视频 | 青草青青在线_麻豆出品必属精品_日本草逼视频_v2ba最新地址入口_久久99爱视频_黑鬼大战白妞高潮喷白浆_色婷婷综合缴情综免费观看_亚洲AV综合色区无码另类小说 | 欧美一级特黄aaaaaaa在线观看_亚洲麻豆国产_亚洲一区二区三区四区av_女人内精69xxxxx免费软件_黄色美女一级_国产精品国产三级国产aⅴ入口_自拍偷拍第八页_日本久久综合网 | 99久久久无码国产精品9_亚洲v.com_亚洲中文字幕无码一区日日添_欧美成年人在线观看_精品视频网_国产91在线精品_国产精品s色_亚洲欧美中文字幕在线观看 | 波多野结衣一区二区在线_国产一级一片免费播放放_狠狠色婷婷久久一区二区_av在线不卡播放_最近2019中文字幕第二页_国产精品人妻一区免费看8c0m_亚洲色大成网站www久久九九_日韩精品视频免费观看 | 91九色国产porny_中文av在线播放_别揉我奶头~嗯~啊~视频在线观看_国产不卡视频在线_夫妇交换av888_极品粉嫩嫩模大尺度无码_亚洲综合欧美日本另类激情_日韩在线高清视频 | 香蕉久久一区二区不卡无毒影院_成全免费高清观看_看片免费黄在线观看入口_亚洲日本aⅴ片在线观看香蕉_国产精品嫩草影院88av_一级片免费无码_超碰97av在线_大香焦久久 | 中文字幕在线精品中文字幕导入_╳╳╳无尽动漫性视频_无码专区人妻系列日韩精品少妇_全部露出来毛走秀福利视频_国产高清成人在线观看_黄色在线_日韩毛片久久久_欧美网站一区二区 | 麻豆第一区mv免费观看网站_国产精品久久久久9999赢消_麻豆亚洲精品_亚洲美女高潮久久久久潘金莲_色视在线_www.日本久久_伊人啪啪网_男女拍拍免费视频 | 欧美午夜剧场特大黄三级性片片免费_又黄又爽吃奶视频在线观看_秋霞人成在线观看免费视频_免费一级片观看_91高清网站_亚洲视频久久久久_黄色国产一级_古惑仔第一部 | 国av在线_日韩精品中文字幕视频_国产精品久久天天躁_性生活久久_午夜色场_亚洲人AV在线无码影院观看_老太脱裤让老头玩ⅹxxxx_末发育娇小性色xxxxx | 国产福利免费在线观看_色小姐av_男女多P混交群体交乱A片_91精品国产乱码久久蜜臀_xf在线a精品一区二区视频网站_1000部又爽又黄无遮挡的视频_精品日产一区二区三区_亚洲午夜国产 | 91精品国产综合久久久久影院不卡_国产精品成人一区二区_中文字幕AV一区乱码_九色tm视频_极品白浆_呻吟求饶的人妻中文字幕_中文字幕丰满伦孑_国产精品手机免费 |