456成人影院在线观看_亚洲a毛片_日韩9999_伊人网老司机_一本免费视频_最近高清日本免费

IT之道-艾銻知道

您當(dāng)前位置: 主頁 > 資訊動(dòng)態(tài) > IT知識(shí)庫 >

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


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

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

 
艾銻無限是一家專門做企業(yè)網(wǎng)管外包服務(wù)的機(jī)構(gòu),通過線上+線下結(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從總體上來講是有許多個(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è)模塊中包含哪些模塊可以自己去源碼中查詢,這里略過;

二.Nginx的web請(qǐng)求處理機(jī)制
從架構(gòu)設(shè)計(jì)上說,Nginx服務(wù)器是與眾不同的。其一在于它的模塊化設(shè)計(jì);其二也是更重要的一點(diǎn)在于它對(duì)與客戶端請(qǐng)求的處理機(jī)制上;
web服務(wù)器和客戶端是一對(duì)多的關(guān)系,Web服務(wù)器必須有能力同時(shí)為多個(gè)客戶端提供服務(wù)。一般來說完成并行處理請(qǐng)求工作有三種方式:
1.多進(jìn)程方式;
2.多線程方式;
3.異步方式;
這里簡單說明一下這三種方式:
(1)多進(jìn)程方式
多進(jìn)程方式指,服務(wù)器每當(dāng)收到一個(gè)客戶端時(shí)。就有服務(wù)器主進(jìn)程生成一個(gè)子進(jìn)程出來和客戶端建立連接進(jìn)行交互。指導(dǎo)連接斷開。該子進(jìn)程就結(jié)束了。
多進(jìn)程方式的優(yōu)點(diǎn)是設(shè)計(jì)簡單,各個(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è)線程出來和客戶端進(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),可以訪問同樣的內(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)求;所有來自發(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中方式:同步阻塞,同步非阻塞,異步阻塞,異步非阻塞
這里簡單解釋一下異步非阻塞:發(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)求;而客戶端在此期間也無需等待響應(yīng),可以去處理其他事情;當(dāng)IO返回時(shí),就會(huì)通知此工作進(jìn)程;該進(jìn)程得到通知,暫時(shí)掛起當(dāng)前處理的失誤去響應(yīng)客戶端請(qǐng)求。
也就是:

Nginx采用異步非阻塞方式來處理請(qǐng)求,處理請(qǐng)求具體到系統(tǒng)底層就是讀寫事件(所謂阻塞調(diào)用方式即請(qǐng)求事件還沒準(zhǔn)備好,線程只能一直去等,等事件準(zhǔn)備好了再處理;而非阻塞即事件沒準(zhǔn)備好,馬上返回ENGAIN,告訴你事件還沒準(zhǔn)準(zhǔn)備好,而在這期間可以先去做其他事,再回頭看看事件準(zhǔn)備好了嗎,時(shí)不時(shí)會(huì)看,需要的開銷也是不小的)
異步可以理解為循環(huán)處理多個(gè)準(zhǔn)備好的事件,不會(huì)導(dǎo)致無謂的資源浪費(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è)問題有兩種方法:
(1)讓工作進(jìn)程在進(jìn)行其他工作的過程中間隔一段時(shí)間就去檢查一下IO的狀態(tài),如果完成就響應(yīng)客戶端,如果未完成,繼續(xù)工作。
(2)IO調(diào)用在完成后能主動(dòng)通知工作進(jìn)程。
當(dāng)然最好的就是用第二種方法了;像select/poll/epoll等這樣的系統(tǒng)調(diào)用就是用來支持第二種解決方案的。這些系統(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)模型來管理。

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

IT服務(wù)四.架構(gòu)簡介
通過這個(gè)上面的簡單講解,再加上服務(wù)器的架構(gòu)的了解,可以對(duì)Nginx有一個(gè)簡單的了解,希望對(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)的過程中,Nginx服務(wù)器還涉及和后端服務(wù)器的通信。Nginx將接收到的Web請(qǐng)求通過代理轉(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ì)緩存文件的快速訪問;

##工作進(jìn)程##
工作進(jìn)程的主要工作有以下幾項(xiàng):
接收客戶端請(qǐng)求;
將請(qǐng)求一次送入各個(gè)功能模塊進(jìn)行過濾處理;
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)程與外界通過信號(hào)通信;
2.worker-worker交互
這種交互是和Master-Worker交互是基本一致的。但是會(huì)通過主進(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)閉
主站蜘蛛池模板: 91精品国产色综合久久不卡98最新章节_国产精品久草_亚洲不卡av一区二区三区_国产欧美日韩精品一区二区三区_妺妺窝人体色WWW网_九九九视频在线观看_亚洲国产婷婷综合在线精品_亚洲综合熟女久久久30p | 手机在线观看av片_免费观看呢日本天堂视频_国产一卡2卡3卡四卡精品国色_精品一区二区久久久久黄大片_GOGO人体大胆全球少妇_久久久久久国产精品美女_色视频线观看在线播放_国产精品久久不能 | 免费看的黄色av网站_国产有码在线_91精品无码一区二区_成人aaaa免费全部观看_欧美肥妇毛多水多BBXX_国产大片在线看_久久午夜免费观看_亚洲人成一区 | 国产又黄又爽胸又大免费视频_日日干夜夜爽_女人和男人视频网站_97中文字幕第二十二页_亚洲第一网站男人都懂_女人夜夜春高潮爽A∨片传媒_精品一卡2卡三卡4卡免费网站_亚洲精品久久AV无码蜜桃第1集 | 亚洲乱码中文字幕综合区_亚洲国产另类久久久精品网站_久久久国产精华液999999_深夜视频国产_亚洲精品毛片av_九九在线免费视频_狠狠干综合网_久草免费看 | 午夜欧美一区二区三区免费观看_欧美日韩国产精品激情在线播放_亚洲美女一二三区_综合97_av人摸人人人澡人人超碰_93超碰国产大屁股_www午夜精品视频一区二区_日本tubesex人妻 | 亚洲国产成人极品综合_红色av社区_九色www_啪啪精品视频_福利视频一区二区_精品国产一区天天_爆乳放荡的女教师bd_久热香蕉在线爽青青 | 色综合首页_亚洲综合一区无码精品_黄色A级国产免费大片_在线观看a视频_色视频综合_精品国产不卡一区二区_日韩免费成人_亚洲欧洲无码一区二区三区 | 国产美女网站视频_先锋中文字幕在线资源_免费中文字幕日产乱码_97国产婷婷视频_91精品久久久久久9s密挑_久久99精品久久久久久琪琪_三区影院_国语对白做爰xxxⅹ性69视频 | 欧美体内she精高潮_99久久九九社区精品_9999国产精品_欧美牲交黑粗硬大_久久综合精品国产丝袜长腿_亚洲中文字慕日产2021_哪里有毛片网站_18video性欧美19sex高清 | 一级黄色录像影片夫妻性生活影片_日本道色综合久久影院_国产精品xxx在线观看_激情婷婷_亚洲精品免费在线观看视频_亚洲三级性片_国产97视频人人做人人爱_懂色av色香蕉一区二区蜜桃 | 国产成人精品视频在线_av网站亚洲_成人一区二_国产精品自产拍在线观看_亚洲av日韩av激情亚洲_91在线免费公开视频_国产精品二区在线观看_看黄A大片爽爽影院免费无码 | 久视频在线_国产99区_久久久精品免费免费_麻豆一区二区99久久久久_高清不卡一区_伊人久久综合一区二区_午夜a毛片_国产精品1 | 边摸边脱吃奶边高潮视频免费_91精品国产综合久久久久久久久_无码伊人66久久大杳蕉网站谷歌_国产丝袜精品视频_日本韩国国产_久久精品欧洲_www.99色_www.91桃色 | 精品久久久久久久一区二区蜜臀_西西人体444WWW大胆无码视频_天天艹av_国产日产欧产精品精品ai_亚洲麻豆_本道久久综合无码中文字幕_91精品国产麻豆国产在线观看_久久国产经典 | 日韩91_国产精品入口免费视_国产精品久久_夜夜草专业av导航_亚洲精品色哟哟_白嫩少妇一级无码_毛片视频网站_日本神影院一区二区三区 | 噜噜高清欧美内射短视频_a一级黄色录像_国产高清在线_国产精品久久久亚洲女人_久久99热这里有精品6_婷婷激情综合色五月久久图片_亚洲AV无码一区二区三区18_免费香蕉视频 | 麻豆精品国产免费_久久婷婷国产综合一区二区_国产在线视频网站_亚洲最新版av无码中文字幕一区_国产女教师高潮叫床视频网站_国产高清自拍_久久欧美_国产片一区二区三区 | 99精品久久毛片a片_日本边添边摸边做边爱的网站_国产免费97_精品久久久一二三区_99久RE热视频这里只有精品6_亚洲一级大黄大色毛片_久久国产精品麻豆_av毛片在线观看地址 | 男人的好看免费观看在线视频_秋霞人成在线观看免费视频_99久久国产免费_69堂在线_色视频一区二区_国产美女操_自拍视频国产_欧洲美熟女乱AV亚洲一区 亚洲综合一二三区_午夜伦理片在线观看_免费精品国产自产拍在线观看图片_日韩av有码在线_性欢交69国产精品_91精品一二区_久久久综合九色合综国产精品_伊人精品在线观看 | 西西人体午夜大胆无码视频_亚洲不卡系列_亚洲第一免费看片_成人国产精品秘片多多_日韩欧美一二三区_午夜久久久久久_99精品不卡一区二区三区_国产做A爰片毛片A片美国 | 国产偷自拍对白在线视频_风流少妇又紧又爽又丰满_旧里番高h无码无修在线观看_日本片成人在线观看_日韩av在线网_狠狠色视频_色88888久久久久久影院_操人视频免费 | 毛片毛片毛片毛片毛片毛片_在线观看片免费人成视频播放_91爱插插_中文字幕一综合88久久_国产香港明星裸体XXXX视频_亚洲地区天堂网_午夜影片_超碰97zyz | 九一麻豆精品_男人日女人的网站_欧美天堂在线视频_麻豆伦理视频_国产精品国产亚洲伊人久久_久久久精品蜜桃_亚洲乱仑_久久久免费播放 | 欧美国产日本_99老色批_国产群交影片在线播放_亚洲综合图片网_爽好久久久欧美精品_无码制服丝袜人妻一在线视频_区一区二免费视频_成人乱淫av日日摸夜夜爽 久色视频_a视频免费看_强插女教师AV在线_亚洲午夜免费福利视频_日韩第一精品_蜜桃久久精品一区二区_经典久久久_特黄A片女人亚洲一区小说 | japanese国产乱在线播放_国产人成亚洲第一网站在线播放_中文字幕久久久久一区_欧美jizz18hd性欧美_日日干b_中文字幕成人av_色夜av_国产精品美女www视频 | 欧美性猛交xxxx乱大交俱乐部_久久精品亚洲7777影院_好男人在线影院官网WWW_玩弄丰满奶水的女邻居_国产91免费看_久久久久久久久久久久91_五月婷婷中文字幕_久久青青草原一区二区 | 亚洲精品国产综合久久_中文成人无字幕乱码精品区_老司机精品免费视频_日韩精品人妻系列无码专区_国产成人精品免费视频大_久久6国产_日本特黄特色大片免费视频_大陆国产乱人伦 | 在线观看a级_国产高清成人av片_免费能直接在线观看黄的视频_色成人网站www永久免费观看_日本成人黄色_初毛初精小男生GV网站_亚洲资源网_久久久久久久久久毛片 | 操大逼片_大地资源二在线观看官网_91爱在线观看_伊人春色影院_久草在线视频精品_久久久线视频_久久大香伊蕉在人线免费_a一级黄色片 | 成人精品视频99在线观看免费_国产精品69久久久_欧美性色综合网_日韩在线第一区_欧美xxxxx在线观看_国产精品自拍在线观看_日韩精品免费综合视频在线播放_天堂MV在线MV免费MV香蕉 | 日韩av一级片_中文字幕在线视频日本_日本午夜一区_国产亚洲欧美一级_日批视频在线观看网站_在线视屏_亚洲AV无码无一区二区三区_国产成人精品无码一区二区 色婷婷五月综合亚洲影院_免费在线观看亚洲视频_欧美一级日韩一级无毒不卡_国产精品高潮在线_国产一区久久_狠狠操一区二区三区_亚洲国产精品无码久久久久久曰_美女黄色网址 | 久久久久久久爱_尤物九九久久国产精品的分类_三级网站午夜三级_baoyu135国产精品免费_午夜在线一区二区_欧美5区_欧美成亚洲_在线免费视频 | 香蕉网在线_国产一级桃视频播放_久久久国产精品萌白酱免费_草久视频在线_日韩免费毛片_久久视频这里只精品_黄色片免费观看网站_成人免费看吃奶视频网站 | 无码免费人妻A片AAA毛片_免费一区二区三区四区_欧美粗大无套gay_日本色综合网_人人爽在线视频_欧一区二区三区_中文激情在线一区二区_一本岛道一二三不卡区 | 国产欧美日韩精品第一区二区三区_精品国产福利在线_在线婷婷_中文午夜人妻无码看片_91se亚洲综合色区_国产第五页_成人欧美亚洲_大地资源网视频观看免费高清 | 久久无码色综合中文字幕_国产在线观看免费av_亚洲AV日韩精品一区二区三区_一区二区三区精品视频免费播放_色天使久久综合网天天_麻豆精品一二三区_福利视频一区二区三区四区_丰满人妻一区二区三区视频53 | 久久爽久久爽久久av东京爽_成人日韩精品_脱了老师内裤猛烈进入的软件_欧洲国产精品精华液_国产乱子伦精品无码专区_亚洲一卡二卡三卡四卡无卡网站_蜜桃av在线_97精华最好的产品在线 男ji大巴进入女人的视频免费看_国产精品99久久久久久宅男_国产一区二区三区精品视频_亚洲av无码久久寂寞少妇_国产在线观看影视_a级网站在线观看_欧美黄色片网站_91久久久久久白丝白浆欲热蜜臀 | 在线黑人抽搐潮喷_欧美日韩国产精品_亚洲欧美日韩成人综合一区_free性欧美人与dog_亚洲免费精品视频_4tube在线观看_久久精品日_69精品久久久久9999不卡片 | 国产精品成人VA在线播放_国产aⅴ精品一区二区三理论片_黄色片哪里可以看_国产农村女人一级毛片了_饕餮记在线观看_别揉我奶头~嗯~啊~视频在线观看_伊人色爱_国产91aaa | 麻豆精品国产免费_久久婷婷国产综合一区二区_国产在线视频网站_亚洲最新版av无码中文字幕一区_国产女教师高潮叫床视频网站_国产高清自拍_久久欧美_国产片一区二区三区 |