首页 > 系统相关 >Nginx工作原理

Nginx工作原理

时间:2023-10-30 11:57:24浏览次数:32  
标签:请求 工作 Worker Nginx Master 进程 原理 Socket

本文分享自天翼云开发者社区《Nginx工作原理》,作者:王****秀

Nginx的进程模型

Nginx服务器由一个Master进程和多个Worker进程组成:

Master进程:管理Worker进程。对外接口:接收外部的操作(信号);对内转发:根据外部操作的不同,通过信号管理Worker;监听:监控Worker进程的运行状态,Worker进程异常终止后,自动重启Worker进程。

Worker进程:所有Worker进程都是平等的,用于处理网络请求。进程数量:在nginx.conf中配置,一般设置为核心数,充分利用CPU资源,同时,避免进程数量过多,避免进程竞争CPU资源,增加上下文切换的损耗。

HTTP连接建立和请求处理过程

Nginx启动时,Master进程加载配置文件。

Master进程,初始化监听的Socket。

Master进程,Fork出多个Worker进程。

Worker进程,竞争新的连接,获胜方通过三次握手,建立Socket连接,并处理请求。

Nginx 高性能、高并发

Nginx 采用多进程+异步非阻塞方式(IO 多路复用 Epoll)。

请求的完整过程:建立连接→读取请求→解析请求→处理请求→响应请求。

请求的完整过程对应到底层就是:读写 Socket 事件。

标签:请求,工作,Worker,Nginx,Master,进程,原理,Socket
From: https://www.cnblogs.com/developer-tianyiyun/p/17797433.html

相关文章

  • class底层原理分析
    表面上是:class+类名 会把类构造出来实际上是:元类实例化产生类 这个对象#类实例化产生对象,一定是: 类名()#Person类是有type实例化产生,传一堆参数#type()调用类的__init__方法#type()#如果想要控制类的产生过程,就要用type(object_or_name,......
  • Chromium CC渲染层工作流详解
    1.Chromium的渲染流水线Blink—> Paint -> Commit ->(Tiling ->) Raster -> Activate -> Draw(Submit) —>VizBlink对接 cc 的绘制接口进行 Paint,Paint生成cc模块的数据源(cc::Layer),CC将数据源进行合成,经过一系列过程最终在 Draw 阶段将合成的结果(viz......
  • 20 Synchronized和Lock的实现原理与区别
    相同点:(1)都是可重入锁(2)都保证了可见性和互斥性(3)都可以用于控制多线程对共享对象的访问不同点:(1)ReentrantLock等待可中断(2)synchronized中的锁是非公平的,ReentrantLock默认也是非公平的,但是可以通过修改参数来实现公平锁。(3)ReentrantLock绑定多个条件(4)synchronized是Java中的关键字是JV......
  • 工作常用的EXCEL公式 | 某列相同的数据进行汇总
    需求:解决方法:1、对部门排序,再进行分类汇总(数据-分类汇总) 2、选中A列,CTRL+G,快速定位空值,然后点击合并单元格3、选中A列,然后点击格式刷,刷在B列 4、取消分类汇总 5、删除A列,然后筛选B列为0的数据,然后删除,即可。 (调整一下格式即可) ......
  • 卫星通信工作频段
    卫星通信工作频段来源 https://zhuanlan.zhihu.com/p/403820083 ITU定义频段其中用于卫星通信的有:UHF(UltraHighFrequency)或分米波频段,频率范围为300MHz-3GHz。该频段对应于IEEE的UHF(300MHz-1GHz)、L(1-2GHz)、以及S(2-4GHz)频段。UHF频段无线电波已接近于视线传播,易被山体和建......
  • DM数据库架构原理之内存结构
    2.DM数据库体系架构谈DM数据库内存结构之前,我们必须先了解下DM数据库的体系架构,本人认为要想学好一门数据库,必须要深入了解它的体系架构,下面这幅图是本人对DM体系架构理解画出来的。工作原理:下面我们从一个用户请求开始讲,DM的完整的工作机制是咋样的,首先当客户端的发出一条select......
  • SpringCloud复习:(2)@LoadBalanced注解的工作原理
    @LoadBalanced注解标记了一个RestTemplate或WebClientbean使用LoadBalancerClient来进行负载均衡。LoadBalancerAutoConfiguration类给带注解的@RestTemplate添加了拦截器:LoadBalancerInterceptor.具体流程如下:首先定义一个LoadBalancerInterceptor然后定义了一个RestTemplateC......
  • QPQ表面处理,公司经营销售部召开半年工作总结会
    成都工具研究所有限公司的前身是成都工具研究所,于1956年创建于北京,是原机械工业部的直属研究所,是我国机械工业的综合性工具科研机构。公司官网:http://www.ctri.com.cn/公司主要从事精密切削工具、精密测量仪器以及表面改性处理技术的技术研究、产品开发和应用服务。7月5日,公司运......
  • 【Spring】AOP实现原理
    注册AOP代理创建器在平时开发过程中,如果想开启AOP,一般会使用@EnableAspectJAutoProxy注解,这样在启动时,它会向Spring容器注册一个代理创建器用于创建代理对象,AOP使用的是AnnotationAwareAspectJAutoProxyCreator,它实现了SmartInstantiationAwareBeanPostProcessor,从名字中可以看出......
  • 如何将设计模式责任链模式运用到工作当中
    (文章目录)......