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

相关推荐
郝学胜-神的一滴36 分钟前
C++20模板元编程 04:变量模板 别名模板与模板Lambda实战
服务器·开发语言·数据结构·c++·程序人生
螺蛳粉 螺蛳粉1 小时前
CentOS 7.9 自建 Yum 源服务器搭建指南
linux·服务器·centos
赋创小助手1 小时前
Qwen3.8-27B 本地推理 Benchmark 解析:llama.cpp、vLLM、SGLang 与长 Context 的性能差异
服务器·人工智能·大模型·qwen·vllm·sglang·context长度
fanxiaohui121381 小时前
2026符合上飞机标准的充电宝推荐南孚传应,质量稳定又安全
运维·服务器·人工智能·科技
国际云,接待1 小时前
云服务器跨厂商迁移怎么尽量不停机:用 rsync、MySQL binlog 和 DNS TTL 做双阶段切换
运维·服务器·mysql
Doris__HE1 小时前
【元脑服务器NF8260G7-NF8260M7技术规格分享】
运维·服务器·网络·数据库·性能优化
济南凡维2 小时前
Zebra Designer3试用文档
服务器·网络·zebra·打印机·斑马打印机
Wang's Blog2 小时前
Java 服务器: Linux-MySQL的rpm安装与初始化配置
java·服务器
小小的木头人2 小时前
CentOS 7 下 Nginx 访问自定义目录报 403 的完整排查:从端口权限到 SELinux
nginx·centos
Wang's Blog3 小时前
Java 服务器: Linux-yum在线安装与lrzsz文件传输
java·服务器