色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Nginx架構(gòu)介紹 Nginx服務(wù)器模型分析

西西 ? 來(lái)源:51CTO ? 2019-01-10 16:32 ? 次閱讀

Nginx是一款免費(fèi)的、開(kāi)源的、高性能、模塊化、輕量級(jí)的HTTP服務(wù)器、反向代理服務(wù)器以及電子郵件(IMAP/POP3)代理服務(wù)器。

很多大型的網(wǎng)站都使用Nginx,如:百度、京東、新浪、網(wǎng)易、騰訊、淘寶等。

1.Nginx的整體架構(gòu)簡(jiǎn)介

Nginx架構(gòu)介紹 Nginx服務(wù)器模型分析

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);

2. Nginx的模塊化

高度模塊化的設(shè)計(jì)是 Nginx 的架構(gòu)基礎(chǔ)。Nginx嚴(yán)格遵循“高內(nèi)聚,低耦合”的原則,將服務(wù)器設(shè)計(jì)為多個(gè)模塊,每個(gè)模塊就是一個(gè)獨(dú)立的功能模塊,只負(fù)責(zé)自身的功能。

Nginx架構(gòu)介紹 Nginx服務(wù)器模型分析

這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)用,完成開(kāi)發(fā)者想要的功能;

3.Nginx的Web請(qǐng)求處理機(jī)制

從架構(gòu)設(shè)計(jì)上說(shuō),Nginx服務(wù)器是與眾不同的。其一在于它的模塊化設(shè)計(jì);其二也是更重要的一點(diǎn)在于它對(duì)與客戶端請(qǐng)求的處理機(jī)制上。 Nginx請(qǐng)求處理機(jī)制結(jié)合多進(jìn)程機(jī)制和異步非阻塞機(jī)制。

1)多進(jìn)程

多進(jìn)程方式指服務(wù)器每當(dāng)收到一個(gè)客戶端請(qǐng)求時(shí)就由服務(wù)器主進(jìn)程生成一個(gè)子進(jìn)程出來(lái)和客戶端建立連接進(jìn)行交互,直到連接斷開(kāi),該子進(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)生一定的開(kāi)銷;當(dāng)有大量請(qǐng)求時(shí),會(huì)導(dǎo)致系統(tǒng)性能下降;

2)異步非阻塞

發(fā)送方向接收方發(fā)送請(qǐng)求后,不用等待響應(yīng),可以繼續(xù)其他工作;接收方處理請(qǐng)求時(shí)進(jìn)行的IO操作如果不能馬上得到結(jié)果,也不必等待,而是馬上返回去去做其他事情。當(dāng)IO操作完成以后,將完成狀態(tài)和結(jié)果通知接收方,接收方再響應(yīng)發(fā)送方。

4. Nginx服務(wù)器的事件驅(qū)動(dòng)模型

從上面我們可以知道,Nginx服務(wù)器的工作進(jìn)程調(diào)用IO后,就取進(jìn)行其他工作了;當(dāng)IO調(diào)用返回后,會(huì)主動(dòng)通知工作進(jìn)程。像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架構(gòu)介紹 Nginx服務(wù)器模型分析

如上圖所示,Nginx的事件驅(qū)動(dòng)模型由事件收集器、事件發(fā)送器和事件處理器三部分基本單元組成。

select,poll,epoll都是IO多路復(fù)用的機(jī)制。I/O多路復(fù)用就是通過(guò)一種機(jī)制,一個(gè)進(jìn)程可以監(jiān)視多個(gè)描述符,一旦某個(gè)描述符就緒(一般是讀就緒或者寫就緒),能夠通知程序進(jìn)行相應(yīng)的讀寫操作。select,poll,epoll本質(zhì)上都是同步I/O,因?yàn)樗麄兌夹枰谧x寫事件就緒后自己負(fù)責(zé)進(jìn)行讀寫,也就是說(shuō)這個(gè)讀寫過(guò)程是阻塞的。

5. Nginx服務(wù)器Master-Worker進(jìn)程處理模型

Nginx架構(gòu)介紹 Nginx服務(wù)器模型分析

Nginx服務(wù)器在使用Master-Worker模型時(shí),會(huì)涉及到主進(jìn)程和工作進(jìn)程的交互和工作進(jìn)程之間的交互。這兩類交互都依賴于管道機(jī)制。

Master-Worker交互

這條管道與普通的管道不同,它是由主進(jìn)程指向工作進(jìn)程的單向管道,包含主進(jìn)程向工作進(jìn)程發(fā)出的指令,工作進(jìn)程ID等;同時(shí)主進(jìn)程與外界通過(guò)信號(hào)通信;

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ò)這篇文章,我們對(duì)Nginx服務(wù)器的整體架構(gòu)有了一個(gè)整體的認(rèn)識(shí)。另外推薦大家多看看Nginx的源碼,以便能更好地領(lǐng)悟 Nginx的設(shè)計(jì)思想。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 服務(wù)器
    +關(guān)注

    關(guān)注

    12

    文章

    9231

    瀏覽量

    85625
  • nginx
    +關(guān)注

    關(guān)注

    0

    文章

    151

    瀏覽量

    12189
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Linux上Nginx獲得最佳性能的8種方法

    NGINX 是一種流行的、免費(fèi)的開(kāi)源 Web 服務(wù)器。默認(rèn)的 NGINX 配置足以讓 Web 服務(wù)器正常工作。 但是,如果您想充分利用 NGINX
    發(fā)表于 01-16 09:51 ?551次閱讀

    Linux開(kāi)發(fā)_CentOS7.4服務(wù)器搭建NFS、NGINX服務(wù)器,安裝ffmpeg、Qt環(huán)境

    在CentOS7.4服務(wù)器版本的環(huán)境下搭建NFS服務(wù)器、安裝ffmpeg、安裝nginx服務(wù)器、部署Qt編譯環(huán)境。
    的頭像 發(fā)表于 07-14 13:45 ?1635次閱讀
    Linux開(kāi)發(fā)_CentOS7.4<b class='flag-5'>服務(wù)器</b>搭建NFS、<b class='flag-5'>NGINX</b><b class='flag-5'>服務(wù)器</b>,安裝ffmpeg、Qt環(huán)境

    【NanoPi2試用體驗(yàn)】高級(jí)(一):基于nginx的web服務(wù)器

    /nginx reload在瀏覽中打開(kāi)地址192.168.1.222:8080服務(wù)器正常!征文活動(dòng),多多捧場(chǎng):https://bbs.elecfans.com/jishu_531047_1_1.html
    發(fā)表于 01-03 11:00

    NanoPi NEO - 可靠的Nginx 網(wǎng)絡(luò)服務(wù)器

    服務(wù)器部署,并刪除匿名用戶和測(cè)試數(shù)據(jù)庫(kù)。#mysql_secure_installation根據(jù)提示進(jìn)行選擇:3. 安裝nginx如果你之前已經(jīng)安裝了Apache2,則需要先移除apache2
    發(fā)表于 06-20 15:43

    Nginx的主要功能

    大數(shù)據(jù)基礎(chǔ)——Nginx服務(wù)器基本配置
    發(fā)表于 05-31 07:57

    Nginx的安裝和啟動(dòng)服務(wù)

    Mac上搭建直播服務(wù)器 Nginx+rtmp
    發(fā)表于 08-05 14:54

    Nginx服務(wù)器的搭建步驟

    ①搭建Nginx服務(wù)器②SSL加密網(wǎng)站③基于域名虛擬主機(jī)
    發(fā)表于 04-07 16:20

    構(gòu)建實(shí)戰(zhàn):Nginx+IIS構(gòu)筑Web服務(wù)器集群負(fù)載均衡

    構(gòu)建實(shí)戰(zhàn):Nginx+IIS構(gòu)筑Web服務(wù)器集群負(fù)載均衡
    發(fā)表于 09-05 10:56 ?4次下載
    構(gòu)建實(shí)戰(zhàn):<b class='flag-5'>Nginx</b>+IIS構(gòu)筑Web<b class='flag-5'>服務(wù)器</b>集群負(fù)載均衡

    一文知道Nginx服務(wù)器的緩存原理和機(jī)制

    Nginx服務(wù)器的緩存原理,是在學(xué)習(xí)過(guò)程中比較重要的一個(gè)知識(shí)點(diǎn),學(xué)習(xí)通透之后,對(duì)于自己的能力會(huì)有不小的提升——而且提升不只限于nginx一方面,技術(shù)理論一通百通,對(duì)于理解其他內(nèi)容也會(huì)有很大幫助。
    的頭像 發(fā)表于 10-05 09:01 ?2448次閱讀
    一文知道<b class='flag-5'>Nginx</b><b class='flag-5'>服務(wù)器</b>的緩存原理和機(jī)制

    詳解Nginx高性能的HTTP和反向代理服務(wù)器

    Nginx 是一個(gè)高性能的 HTTP 和反向代理服務(wù)器,特點(diǎn)是占用內(nèi)存少,并發(fā)能力強(qiáng),事實(shí)上 Nginx 的并發(fā)能力確實(shí)在同類型的網(wǎng)頁(yè)服務(wù)器中表現(xiàn)較好。
    的頭像 發(fā)表于 03-16 11:23 ?2463次閱讀

    【技術(shù)分享】如何在嵌入式Linux平臺(tái)上使用Nginx搭建RTMP流媒體服務(wù)器

    RTMP作為目前主流的流媒體傳輸協(xié)議,廣泛應(yīng)用于音視頻領(lǐng)域。那么我們?nèi)绾慰焖僭谇度胧桨遄由洗罱ㄆ鹱约旱膔tmp流媒體服務(wù)器?本篇文章將帶大家實(shí)踐一下。 ?? 概述 Nginx是一個(gè)以高效穩(wěn)定著稱
    的頭像 發(fā)表于 01-05 15:15 ?675次閱讀

    【技術(shù)分享】如何在嵌入式Linux平臺(tái)上使用Nginx搭建RTMP流媒體服務(wù)器

    RTMP作為目前主流的流媒體傳輸協(xié)議,廣泛應(yīng)用于音視頻領(lǐng)域。那么我們?nèi)绾慰焖僭谇度胧桨遄由洗罱ㄆ鹱约旱膔tmp流媒體服務(wù)器?本篇文章將帶大家實(shí)踐一下。概述Nginx是一個(gè)以高效穩(wěn)定著稱的高性能
    的頭像 發(fā)表于 01-13 09:27 ?1333次閱讀
    【技術(shù)分享】如何在嵌入式Linux平臺(tái)上使用<b class='flag-5'>Nginx</b>搭建RTMP流媒體<b class='flag-5'>服務(wù)器</b>?

    Apache服務(wù)器Nginx服務(wù)器

    Apache和Nginx都是常見(jiàn)的開(kāi)源Web服務(wù)器軟件,它們用于處理HTTP請(qǐng)求并提供網(wǎng)站和應(yīng)用程序的服務(wù)。下面是對(duì)Apache和Nginx的一些基本特點(diǎn)的比較: 一、Apache H
    的頭像 發(fā)表于 01-22 16:48 ?579次閱讀

    nginx負(fù)載均衡配置介紹

    目錄 nginx負(fù)載均衡 nginx負(fù)載均衡介紹 反向代理與負(fù)載均衡 nginx負(fù)載均衡配置 Keepalived高可用nginx負(fù)載均衡器
    的頭像 發(fā)表于 11-10 13:39 ?267次閱讀
    <b class='flag-5'>nginx</b>負(fù)載均衡配置<b class='flag-5'>介紹</b>

    nginx隱藏版本號(hào)與WEB服務(wù)器信息

    nginx不僅可以隱藏版本信息,還支持自定義web服務(wù)器信息 先看看最終的隱藏結(jié)果吧 具體怎么實(shí)現(xiàn)呢,其實(shí)也很簡(jiǎn)單,請(qǐng)往下看 1 官網(wǎng)下載最新穩(wěn)定版 wget http://nginx
    的頭像 發(fā)表于 11-22 10:25 ?185次閱讀
    <b class='flag-5'>nginx</b>隱藏版本號(hào)與WEB<b class='flag-5'>服務(wù)器</b>信息
    主站蜘蛛池模板: 99久久亚洲综合精品| 久久精品亚洲| 国产午夜不卡| 久久精品久久久久| 欧美精品一区二区在线电影| 色欲无码国产喷水AV精品| 野花影院手机在线观看| mdapptv麻豆下载| 国内精品视频在线播放一区 | 久久免费精彩视频| 日本午夜视频在线| 亚洲野狼综合网站| 超碰在线公开视频| 九九热这里都是精品| 日本熟妇乱妇熟色在线电影| 一本久道视频无线视频| 成人动漫bt种子| 就操成人网| 午夜向日葵高清在线观看| 97视频在线观看免费视频| 国产精品免费一区二区三区四区| 理论937| 武侠古典久久亚洲精品| 99精品在线播放| 精品久久久无码21P发布| 入禽太深视频免费视频| 1000视频在线播放| 国产日韩亚洲精品视频| 漂亮美女2018完整版| 阴茎插入阴道| 国产精品免费观看视频播放| 年轻的女教师2017韩国在线看 | 一级毛片免费在线播放| 成人特级毛片| 免费视频久久只有精品| 亚洲中文字幕永久在线 | 99久久精品免费看国产一区二区三区| 国产亚洲精品久久精品69| 三级中国免费的| caoporn 免费视频| 麻豆狠色伊人亚洲综合网站|