Nginx的进程结构

Nginx的进程结构有两种,分别是单进程结构和多进程结构。而单进程结构一般只能应用于开发和测试,而不能应用于生产环境;多进程结构才能应用于生产环境,这是因为多进程结构比较稳定。

Nginx的多进程结构有以下组成部分:

1.Master进程

2.Worker进程

3.Cache Manager进程

4.Cache Loader进程

而在生产上使用多进程结构而不是多线程结构,是因为线程会共享地址越界是会导致整个Nginx进程全部挂掉,而当我们采取多进程结构,往往就不会出现这样的问题。第三方模块通常不会在Master进程中添加自己的功能,而Master进程就是用来管理Worker进程,需要监控每个Work进程,看看需不需要重新载入配置文件、热部署等。所有Worker进程才是真正处理请求的进程。缓存需要再多个Work进程间共享,而Cache Loader进程进行缓存载入,Cache Manager进程进行缓存管理。Nginx进程间通讯都是通过共享地址空间进行的。
Work进程需要从头到尾占有一个CPU才能更好提供服务,所以Work进程不但需要跟CPU核数一致,而且每一个Work进程需要与一个CPU进行绑定,这样才能减少CPU缓存问题。

此文章为10月Day 23学习笔记,内容来源于极客时间《Nginx 核心知识 150 讲》

相关推荐
蜜獾云37 分钟前
charles抓包原理
服务器·https·ssl
vortex51 小时前
Linux 处理以 Null 字节分隔内容的文件
linux·运维·服务器
人工智能训练1 小时前
Docker Desktop WSL 集成配置宝典:选项拆解 + 精准设置指南
linux·运维·服务器·人工智能·docker·容器·ai编程
遇见火星1 小时前
Linux 如何设置开机自启:全面指南!
linux·运维·服务器·systemd
玥轩_5212 小时前
OSPF路由协议单区域配置
服务器·网络·智能路由器·交换机·ospf·动态路由
小陈phd2 小时前
大语言模型实战(五)——大模型开发范式演进:从“调用API”到“多Agent复杂目标”
服务器·microsoft·语言模型
QQ__17646198242 小时前
SSH远程时找不到模块ModuleNotFoundError
linux·服务器·ssh
CHANG_THE_WORLD3 小时前
6.2.在汇编层面,数据本身没有类型
java·服务器·汇编
wangchen_03 小时前
Linux文件描述符定时器:timerfd系列接口
linux·运维·服务器
不染尘.3 小时前
TCP客户服务器编程模型
linux·服务器·网络·网络协议·tcp/ip·计算机网络·ssh