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 讲》

相关推荐
痕迹运维1 天前
Nginx SFTP代理
nginx
BreezeJiang1 天前
为什么生成了 dist,项目还是可能跑不起来?从一个 React + Express + MySQL 项目看部署闭环
nginx·react.js
Darling噜啦啦1 天前
前端到上线全流程:从买服务器到 Nginx 反向代理,搞懂全栈部署
nginx·全栈
BreezeJiang1 天前
从域名到 Node.js:一次云服务器请求经过了哪些层?
服务器
烬羽1 天前
我把"时间胶囊"部署上腾讯云宝塔,跨域从根源消失了
nginx·node.js·全栈
Julien20041 天前
调查和解决 SELinux 问题
linux·运维·服务器·网络·学习方法
2601_962074682 天前
自己编译RustDesk,并将自建ID服务器和key信息写入客户端
运维·服务器
大模型丫丫2 天前
Hermes Agent:轻量级智能体框架实战指南
大数据·运维·服务器
mooooooooooye2 天前
2026 年跨平台 SSH 客户端怎么选?Xterminal、Termius、MobaXterm 谁更合适
服务器·网络·ssh
Blockchina2 天前
Codex 实战:从一句需求到可验收的 Linux 主机巡检脚本
运维·服务器·网络