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

相关推荐
奇树谦6 分钟前
Seaweed中filer.sync原理
linux·服务器·网络
Huangjin007_8 分钟前
【Linux 系统篇(十六)】进程(四) : 僵尸进程、孤儿进程、进程优先级
linux·运维·服务器
IvorySQL16 分钟前
PostgreSQL 日报|备用服务器 FSM 数据不一致(9 月 2 日)
服务器·数据库·postgresql
希望奇迹很安静38 分钟前
Linux基本使用命令
linux·运维·服务器
邪修king44 分钟前
Re:Linux 系统篇(十七):进程篇(六):环境变量深度解析|命令行参数、环境变量表、4 种获取方式与继承机制万字详解
linux·服务器·c++
Brilliantwxx10 小时前
【Linux】 进程(9)程序与进程地址空间(基础+进阶+面试题)
linux·运维·服务器·开发语言·c++
不怕犯错,就怕不做10 小时前
git prune 自动删除本地记录中那些远程已经不存在的分支引用
linux·服务器·git
weixin_4166679611 小时前
【无标题】
运维·服务器·网络
上海云盾-小余14 小时前
流量攻击复盘:为什么 WAF 完好,业务依旧瘫痪
运维·服务器·网络
我命由我1234515 小时前
Linux - Linux/POSIX 路径斜杠折叠规则
linux·运维·服务器·android studio·android jetpack·android-studio·android runtime