Nginx-- 进程模型及工作原理

Posted 听歌敲代码

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx-- 进程模型及工作原理相关的知识,希望对你有一定的参考价值。

1.nginx进程模型

  Nginx是一个master和worker的模型。master主要用来管理worker进程,master就比作老板,worker就是打工仔,master指挥worker来做事情。下图是nginx的进程模型:

 

master进程:

  1.接收外界的信号,例如:kill -QUIT,kill -HUP

     kill -HUP 重新加载配置文件,然后重新启动新的worker进程,老的还在运行,同时,向老的worker进程发送退休命令,老的worker进程将原有的请求处理完之后,就退休,不会接收新的请求,自毁,新的worker进程处理新的请求。

  2.向各个worker进程发送信号

  3.监控worker进程

  4.当worker进程因异常退出,会自动启动新的worker进程。

woker进程:

  处理客户端的请求

  接收客户端的连接,完成服务端和后端的数据交互,各个worker之间的进程是相互独立的并且平等的,对请求的处理机会是相等的。

2.nginx工作原理

  当启动nginx时,maste进程启动的时候,会创建好Listener的一个socket监听,然后会fork出多个worker进程(根据配置文件),当有请求来临时,worker进程会通过共享锁来保证在同一时刻只有一个worker进程来处理同一个连接,当worker进程接收到请求的时候,就开始做数据的响应和处理,哪一个进程抢到锁,哪一个进程就会处理请求。

   nginx是一个壳,由内核和模块组成,主要是核心、基础、第三方模块。其中,核心模块:http模块,event模块、mail模块。

 

以上是关于Nginx-- 进程模型及工作原理的主要内容,如果未能解决你的问题,请参考以下文章

Nginx运行原理和配置详解(个人总结笔记)

Nginx工作原理及相关介绍

[转]Nginx实现高并发的原理

PHP OPCache工作原理

nginx实现高并发的原理

Nginx Ingress 控制器工作原理