张飞软硬开源基于STM32 BLDC直流无刷电机驱动器开发视频套件,👉戳此立抢👈

Nginx架构介绍 Nginx服务器模型分析

2019-01-10 16:32 次阅读

Nginx是一款免费的、开源的、高性能、模块化、轻量级的HTTP服务器、反向代理服务器以及电子邮件(IMAP/POP3)代理服务器。

很多大型的网站都使用Nginx,如:百度、京东、新浪、网易、腾讯、淘宝等。

1.Nginx的整体架构简介

Nginx架构介绍 Nginx服务器模型分析

1)Nginx启动后,会产生一个主进程,主进程执行一系列的工作后会产生一个或者多个工作进程;

2)在客户端请求动态站点的过程中,Nginx服务器还涉及和后端服务器的通信。Nginx将接收到的Web请求通过代理转发到后端服务器,由后端服务器进行数据处理和组织;

3)Nginx为了提高对请求的响应效率,降低网络压力,采用了缓存机制,将历史应答数据缓存到本地。保障对缓存文件的快速访问;

2. Nginx的模块化

高度模块化的设计是 Nginx 的架构基础。Nginx严格遵循“高内聚,低耦合”的原则,将服务器设计为多个模块,每个模块就是一个独立的功能模块,只负责自身的功能。

Nginx架构介绍 Nginx服务器模型分析

这5个模块从上到下重要性依次递减。

(1)核心模块

核心模块是Nginx服务器正常运行必不可少的模块,如同操作系统的内核。它提供了Nginx最基本的核心服务。像进程管理、权限控制、错误日志记录等;

(2)标准HTTP模块

标准HTTP模块支持标准的HTTP的功能;

(3)可选HTTP模块

可选HTTP模块主要用于扩展标准的HTTP功能,让Nginx能处理一些特殊的服务;

(4)邮件服务模块

邮件服务模块主要用于支持Nginx的邮件服务;

(5)第三方模块

第三方模块是为了扩展Nginx服务器应用,完成开发者想要的功能;

3.Nginx的Web请求处理机制

从架构设计上说,Nginx服务器是与众不同的。其一在于它的模块化设计;其二也是更重要的一点在于它对与客户端请求的处理机制上。 Nginx请求处理机制结合多进程机制和异步非阻塞机制。

1)多进程

多进程方式指服务器每当收到一个客户端请求时就由服务器主进程生成一个子进程出来和客户端建立连接进行交互,直到连接断开,该子进程就结束了。多进程方式的优点是设计简单,各个子进程相对独立,处理客户端请求时彼此不受干扰;缺点是操作系统生成一个子进程需要进行内存复制等操作,在资源和时间上会产生一定的开销;当有大量请求时,会导致系统性能下降;

2)异步非阻塞

发送方向接收方发送请求后,不用等待响应,可以继续其他工作;接收方处理请求时进行的IO操作如果不能马上得到结果,也不必等待,而是马上返回去去做其他事情。当IO操作完成以后,将完成状态和结果通知接收方,接收方再响应发送方。

4. Nginx服务器的事件驱动模型

从上面我们可以知道,Nginx服务器的工作进程调用IO后,就取进行其他工作了;当IO调用返回后,会主动通知工作进程。像select/poll/epoll等这样的系统调用就是用来支持这种解决方案的。这些系统调用也常被称为事件驱动模型,他们提供了一种机制就只让进程同时处理多个并发请求,不用关心IO调用的具体状态。IO调用完全由事件驱动模型来管理。

Nginx架构介绍 Nginx服务器模型分析

如上图所示,Nginx的事件驱动模型由事件收集器、事件发送器和事件处理器三部分基本单元组成。

5. Nginx服务器Master-Worker进程处理模型

Nginx架构介绍 Nginx服务器模型分析

Nginx服务器在使用Master-Worker模型时,会涉及到主进程和工作进程的交互和工作进程之间的交互。这两类交互都依赖于管道机制。

Master-Worker交互

这条管道与普通的管道不同,它是由主进程指向工作进程的单向管道,包含主进程向工作进程发出的指令,工作进程ID等;同时主进程与外界通过信号通信;

Worker-Worker交互

这种交互是和Master-Worker交互是基本一致的,但是会通过主进程。工作进程之间是相互隔离的,所以当工作进程W1需要向工作进程W2发指令时,首先找到W2的进程ID,然后将正确的指令写入指向W2的通道。W2收到信号采取相应的措施。

通过这篇文章,我们对Nginx服务器的整体架构有了一个整体的认识。另外推荐大家多看看Nginx的源码,以便能更好地领悟 Nginx的设计思想。

收藏 人收藏
分享:

评论

相关推荐

分布式基础知识点—nginx负载均衡和集群搭建-1

  课程简介:  随着互联网P2P的发展,越来越多的公司参与到了互联网借贷中来,BAT等科技公司甚至都创办了自己的银行来
发表于 03-21 00:00 0次 阅读
分布式基础知识点—nginx负载均衡和集群搭建-1

如何用ESP32连续发送数据问题?

我是拿ESP32向服务器抛大数据,固件是ESP-32S AT固件。每次操作要发送一百多KB,需要很高的速度,波特率设置是921600...
发表于 07-18 00:22 5次 阅读
如何用ESP32连续发送数据问题?

如何用LWIP板子作为服务器来发送数据?

大神们 现在我是看了原子哥的教程 现在LWIP是移值好了  但是不会用  我要修改哪里 让板子成为服务器 然...
发表于 07-17 21:01 11次 阅读
如何用LWIP板子作为服务器来发送数据?

请问我通过esp8266获取网络天气和时间错误出在哪里?

F103C8T6 + ESP8266 + MDK5 1、参考了这篇文章。 2、现在单片机已能使用esp8266通过路由器访问天气服务器,get API...
发表于 07-17 20:00 7次 阅读
请问我通过esp8266获取网络天气和时间错误出在哪里?

Moss2007的安装步骤

一.软件环境 将以下软件准备好 Windows Server 2003 SQL Server 2005 .NET Framework 3.0 Office SharePoint...
发表于 07-17 07:51 11次 阅读
Moss2007的安装步骤

代理服务器Squid如何使用

做为眼下最流行的操作系统,Linux已经越来越受到世人的关注。虽然目前Linux的软件还不是很丰富,替代WINDOWS作为普通P...
发表于 07-17 06:42 20次 阅读
代理服务器Squid如何使用

请问LWIP断开连接后进程被阻塞该怎么办?

板子:客户端 电脑:服务器 连接成功后,可以互发信息,服务器主动断开后,客户端能收到断开指示,但是在断开后,关闭连接调用...
发表于 07-17 04:35 21次 阅读
请问LWIP断开连接后进程被阻塞该怎么办?

为什么探索者板子中LWIP断线后无法重启?

板子:客户端 电脑:服务器 连接成功后,可以互发信息,服务器主动断开后,客户端能收到断开指示,但是在断开后,关闭连接调用...
发表于 07-17 04:31 13次 阅读
为什么探索者板子中LWIP断线后无法重启?

为什么在ESP8266中获取ID不成功?

ESP8266,作为服务器时。用上位机调试时,可以在每一个客户端连接/断开时,显示ID号, 但是使用stm32的外部控制时,在每一...
发表于 07-17 04:12 8次 阅读
为什么在ESP8266中获取ID不成功?

为什么我的lwip tcp服务器跑50分钟左右就卡死了?

查了好多资料,改了很多地方,还是不行,请大神帮忙指点下是什么地方的原因。tcp的服务器和客户端连接50分钟左右就卡死了,但是定...
发表于 07-17 02:54 13次 阅读
为什么我的lwip tcp服务器跑50分钟左右就卡死了?

为什么ATK-ESP8266持续发送大量数据时数据丢失?

我用ATK-ESP8266发送大量数据,每次2K发送,间隔200ms,AP服务器模式,波特率115200,发送到后会有一大部分数据丢失了。...
发表于 07-16 20:40 6次 阅读
为什么ATK-ESP8266持续发送大量数据时数据丢失?

浙江移动IT中台产品和华为TaiShan服务器已成功实现融合

在本次商用过程中,浙江移动将现有大IT中台产品和华为TaiShan服务器成功融合,包括DCOS(数据....
发表于 07-16 09:51 70次 阅读
浙江移动IT中台产品和华为TaiShan服务器已成功实现融合

LabVIEW的VI服务器详细资料说明

本文档的主要内容详细介绍的是LabVIEW的VI服务器详细资料说明。
发表于 07-16 08:00 14次 阅读
LabVIEW的VI服务器详细资料说明

结束美国的互联网霸权!中国在全球完成根服务器部署

其实我们要上网就得有域名,而域名的解析就需要用到根服务器。
的头像 5G万物物联 发表于 07-14 12:07 548次 阅读
结束美国的互联网霸权!中国在全球完成根服务器部署

Cisco TFTP服务器应用程序免费下载

Cisco TFTP Server是思科专用的TFTP服务器,可以适用于个人建立专用的tftp服务器....
发表于 07-12 08:00 41次 阅读
Cisco TFTP服务器应用程序免费下载

AWS的“炮仗”与Serverless

Serverless Computing,即”无服务器计算”,这一概念在刚刚提出的时候并没有获得太多....
的头像 Linuxer 发表于 07-10 09:40 216次 阅读
AWS的“炮仗”与Serverless

AMD发布7nm台式机CPU,GPU 服务器CPU即将到来

AMD于7月7日开始销售其第三代Ryzen 3000系列处理器以及代号为Navi的基于RDNA的Ra....
的头像 刘伟DE 发表于 07-09 10:23 1369次 阅读
AMD发布7nm台式机CPU,GPU 服务器CPU即将到来

Amazon S3服务器泄露多家全球知名公司的数据

以色列IT公司Attunity将三个Amazon S3服务器暴露在互联网上,多家知名企业的数据泄露…....
的头像 E安全 发表于 07-03 15:04 203次 阅读
Amazon S3服务器泄露多家全球知名公司的数据

5G时代“边云协同”,服务器市场迎来巨大增量

与通用服务器相比,边缘计算服务器面向5G和边缘计算等场景进行针对性定制,能耗更低、温度适应性更宽、运....
的头像 工业IoT 发表于 06-28 15:47 465次 阅读
5G时代“边云协同”,服务器市场迎来巨大增量

Silex恶意软件攻击物联网设备,攻击来自伊朗服务器

Silex恶意软件正在清除物联网设备的固件,在短短几个小时内,已经有2000多台设备被影响
的头像 E安全 发表于 06-28 15:15 289次 阅读
Silex恶意软件攻击物联网设备,攻击来自伊朗服务器

美国倾覆网络防御原则,世界进入暗黑森林时代!

“战争”真的还很遥远吗?
的头像 国科环宇 发表于 06-24 14:16 397次 阅读
美国倾覆网络防御原则,世界进入暗黑森林时代!

寒武纪正式宣布推出云端AI芯片中文品牌“思元”

作为面向人工智能推断任务的产品,思元270板卡在ResNet50上推理性能超过10000fps。ML....
的头像 新智元 发表于 06-23 09:35 852次 阅读
寒武纪正式宣布推出云端AI芯片中文品牌“思元”

数据库教程之ZendFramework框架的详细资料说明

本文档的主要内容详细介绍的是数据库教程之ZendFramework框架的详细资料说明包括了:1.Ze....
发表于 06-17 17:06 36次 阅读
数据库教程之ZendFramework框架的详细资料说明

VMWare7.0虚拟机双机热备图列教程资料免费下载

本文档的主要内容详细介绍的是VMWare7.0虚拟机双机热备图列教程资料免费下载。
发表于 06-12 15:59 57次 阅读
VMWare7.0虚拟机双机热备图列教程资料免费下载

IDC:2018年全年中国GPU服务器市场规模为13.05亿美金

IDC《2018年下半年中国AI基础架构市场跟踪报告》显示,2018年下半年中国GPU服务器市场规模....
发表于 06-12 09:57 283次 阅读
IDC:2018年全年中国GPU服务器市场规模为13.05亿美金

GoldBrute僵尸网络针对150多万台RDP服务器发起攻击

新的僵尸网络出现,150多万台RDP服务器很危险!
的头像 E安全 发表于 06-11 14:13 305次 阅读
GoldBrute僵尸网络针对150多万台RDP服务器发起攻击

Java教程之微服务:从设计到部署PDF电子书免费下载

近年来,微服务在应用开发和部署方面取得了显著的进步。将应用开发或者重构成微服务以分离服务,通过 AP....
发表于 06-11 08:00 52次 阅读
Java教程之微服务:从设计到部署PDF电子书免费下载

一些大电流设计培训PPT资料合集免费下载

本文档的主要内容详细介绍的是一些大电流设计培训PPT资料合集免费下载包括了: 1.刀片式服务器(数据....
发表于 06-10 08:00 204次 阅读
一些大电流设计培训PPT资料合集免费下载

IT基于算力再分布的云终端解决方案的资料说明

在企业云化背景下,企业对数据及时性、系统稳定性以及跨工作场景的灵活处理能力的要求越来越高,因此需要重....
的头像 电子发烧友网工程师 发表于 06-09 10:53 611次 阅读
IT基于算力再分布的云终端解决方案的资料说明

戴尔PowerEdge T140服务器,数字初始化第一步

通过一台服务器,整合初始化数据,加强企业内部协同管理,提高运营效率,是小企业生产力提升的一剂良药。
的头像 全球人工智能 发表于 06-04 15:34 396次 阅读
戴尔PowerEdge T140服务器,数字初始化第一步

Lucene和solr的区别

solr可以部署到单独的服务器上(WEB服务),它可以提供服务,我们的业务系统就只要发送请求,接收响....
发表于 06-03 17:33 187次 阅读
Lucene和solr的区别

Solr如何管理索引库

solr在文档1和文档2中都有出现,所以对应的文档ID列表中既包含文档1的ID也包含文档2的ID,文....
发表于 06-03 15:51 133次 阅读
Solr如何管理索引库

Solr的工作原理以及全文检索实现原理

由于lucence是基于关键词索引查询的,那我们首先要取得这两篇文章的关键词。如果我们把文章看成一个....
发表于 06-03 15:25 171次 阅读
Solr的工作原理以及全文检索实现原理

受支持的Linux操作系统和WAS ND 9.0安装部署文档的资料说明

本文档的主要内容详细介绍的是受支持的Linux操作系统和WAS ND 9.0安装部署文档的资料说明。....
发表于 06-03 08:00 67次 阅读
受支持的Linux操作系统和WAS ND 9.0安装部署文档的资料说明

使用服务器和客户机及java进行网络通信的程序和流程图免费下载

本文档的主要内容详细介绍的是使用服务器和客户机及java进行网络通信的程序和流程图免费下载。
发表于 06-03 08:00 53次 阅读
使用服务器和客户机及java进行网络通信的程序和流程图免费下载

ASP微型调试工具应用程序免费下载

asp微型调试工具是一款绿色小巧实用的免费的ASP本地调试工具。它能够帮助用户把自己的机子当服务器使....
发表于 05-30 16:11 45次 阅读
ASP微型调试工具应用程序免费下载

PHP的使用教程之操作数据库的详细资料说明

本文档的主要内容详细介绍的是PHP的使用教程之操作数据库的详细资料说明包括了:1.掌握PHP连接数据....
发表于 05-29 16:51 55次 阅读
PHP的使用教程之操作数据库的详细资料说明

ABH1苹果Homekit主机的操作说明书资料免费下载

苹果致力于 Homekit 智能家居平台的推广和完善,同时使用其品牌影响力及终端的普及率可以很大程度....
发表于 05-29 08:00 55次 阅读
ABH1苹果Homekit主机的操作说明书资料免费下载

华为 | 强力扫货,手机、服务器MOSFET急单声声催

除了巩固华为海思晶圆代工、封测代工供应链以及台系逻辑IC供应体系外,疯狂扫货力道已经蔓延到功率基础元....
的头像 DIGITIMES 发表于 05-28 16:03 799次 阅读
华为 | 强力扫货,手机、服务器MOSFET急单声声催

服务器产业受影响小 多回台地区生产

服务器产业受贸易战影响的生产环节主要在主机板,因输美机种后段整机组装多不在中国进行,而是在贴近客户所....
的头像 DIGITIMES 发表于 05-28 15:55 378次 阅读
服务器产业受影响小 多回台地区生产

基于Linux Ubuntu的RADIUS服务器搭建

RADIUS的全称为Remote Authentication Dial-In User Servi....
发表于 05-26 09:30 162次 阅读
基于Linux Ubuntu的RADIUS服务器搭建

IDC公布最新的《2018年中国AI基础架构市场调查报告》

其中,近8成销售额来自于4卡以上GPU服务器,占比达到80.4%;16卡GPU服务器增长迅猛,销售额....
的头像 新智元 发表于 05-25 10:05 2083次 阅读
IDC公布最新的《2018年中国AI基础架构市场调查报告》

华为的服务器芯片鲲鹏920实现完全自主生产!

任尔东西南北风,我自岿然不动!
的头像 物联网解密 发表于 05-23 17:21 2776次 阅读
华为的服务器芯片鲲鹏920实现完全自主生产!

无服务器计算被曝存在安全隐患,传统遗留体系该何去何从?

随着五分之三的企业现在或计划进入无服务器状态,攻击面将会扩大。
的头像 E安全 发表于 05-21 09:03 409次 阅读
无服务器计算被曝存在安全隐患,传统遗留体系该何去何从?

Visualforce开发人员指南的详细资料说明

在过去的几年中,Salesforce为构建按需应用程序创建了一个全面的平台。与其他复杂的应用程序开发....
发表于 05-17 08:00 75次 阅读
Visualforce开发人员指南的详细资料说明

联想Systemx3650M5服务器评测 高速处理用户的每一项工作负载任务

联想 x3650 M5服务器是一款搭载多功能、2U两路关键业务服务器,提供了优良的性能,按需付费的灵....
的头像 39度创意研究所 发表于 05-16 15:47 870次 阅读
联想Systemx3650M5服务器评测 高速处理用户的每一项工作负载任务

泰科新一代HOLISPro分布式网络视频监控集成管理平台系列产品

HVM-S5000系统无论在产品硬件构成还是在软件功能方面,均采用模块化管理,用户可以根据需求定制自....
的头像 安全自动化 发表于 05-16 14:14 1817次 阅读
泰科新一代HOLISPro分布式网络视频监控集成管理平台系列产品

服务器AI芯片市场已经有明确需求,进入服务器AI芯片市场的几种打法

目前上述三个人工智能应用场景中,边缘计算尚处于概念验证阶段,预计未来几年随着5G和无人驾驶、机器人、....
的头像 传感器技术 发表于 05-16 10:28 1445次 阅读
服务器AI芯片市场已经有明确需求,进入服务器AI芯片市场的几种打法

1Q19全球服务器出货急剧下跌

1Q19市场下滑主要是由于北美市场的疲软,下跌超过11%,特别是在超大规模和服务提供商细分市场。
的头像 电子发烧友网工程师 发表于 05-15 10:17 632次 阅读
1Q19全球服务器出货急剧下跌

PuTTY串行接口连接软件和Tftpd64服务器包及华为使能工具合集免费下载

本文档的主要内容详细介绍的是PuTTY串行接口连接软件和Tftpd64服务器包及华为使能工具合集免费....
发表于 05-14 08:00 84次 阅读
PuTTY串行接口连接软件和Tftpd64服务器包及华为使能工具合集免费下载

杰和8GPU服务器3个方面实测

毫无疑问,得益于云计算、大数据、物联网等技术发展,以人工智能为核心的新一代技术驱动着第四次工业革命到....
发表于 05-12 10:30 150次 阅读
杰和8GPU服务器3个方面实测

Intel 7nm工艺将对标台积电5nm,计划是2021年就投产并发布相关产品

具体来说,14nm工艺(对标台积电10nm)会继续充实产能,满足市场需求。10nm工艺(对标台积电7....
的头像 满天芯 发表于 05-10 10:27 812次 阅读
Intel 7nm工艺将对标台积电5nm,计划是2021年就投产并发布相关产品

多层电路板关键生产工艺的控制要点有哪些

多层电路板通常被定义为10-20或更多个高级多层电路板,它们比传统的多层电路板更难加工,并且要求高质....
的头像 牵手一起梦 发表于 05-07 14:28 513次 阅读
多层电路板关键生产工艺的控制要点有哪些

可扩展及可证安全的射频识别认证协议的详细实现资料说明

针对目前广泛应用的被动式射频识别(RFID)标签中的计算、存储资源有限,导致RFID认证协议的安全和....
发表于 05-06 15:42 74次 阅读
可扩展及可证安全的射频识别认证协议的详细实现资料说明

python的web部署方式大全!

Python Web服务器网关接口(Python Web Server Gateway Interf....
的头像 马哥Linux运维 发表于 05-05 17:20 548次 阅读
python的web部署方式大全!

中电四十九所填补中国第三代压力传感器芯片空白

中电四十九所完成高精度谐振压力传感器芯片项目!
的头像 MEMS 发表于 05-05 09:29 906次 阅读
中电四十九所填补中国第三代压力传感器芯片空白

FileZilla Portable 3.41.2FTP客户端应用程序免费下载

FileZilla 是一个免费的 FTP 客户端软件,虽然它是免费软件,可功能却一点也不含糊,比起那....
发表于 05-05 08:00 62次 阅读
FileZilla Portable 3.41.2FTP客户端应用程序免费下载

DHCP工作原理的教学资料设计

DHCP(Dynamic Host Configuration Protocol),即动态主机配置协....
发表于 05-05 08:00 98次 阅读
DHCP工作原理的教学资料设计

Tomcat服务器是一个免费的开放源代码的Web应用服务器

在安装Tomcat之前必须先安装JDK,JDK全称是 Java Development Kit,是S....
的头像 马哥Linux运维 发表于 04-30 14:46 2902次 阅读
Tomcat服务器是一个免费的开放源代码的Web应用服务器

从英特尔下调营收预期 看竞争格局的变化

英特尔表示,预计2019财年营收为690亿美元,而预计为710.5亿美元。这将是2018年的708亿....
的头像 章鹰 发表于 04-29 09:17 2511次 阅读
从英特尔下调营收预期 看竞争格局的变化

超算和人工智能不再是平行线!HPC和AI将成为智能时代中的最强伴侣

算力、算法和大数据的进步,是AI发展的三大基础。AphlaGo之所以接连战胜人类顶尖围棋选手,一方面....
的头像 新智元 发表于 04-29 08:53 944次 阅读
超算和人工智能不再是平行线!HPC和AI将成为智能时代中的最强伴侣