nginx的master进程是总控中心,不处理请求,专责配置校验加载、worker全生命周期管理、信号统一调度及日志接管、连接协调等运维支撑功能。

Nginx 的 Master 进程是整个服务的“总控中心”,它不处理任何客户端请求,只负责全局管理与协调。它的存在让 Nginx 具备热重载、平滑升级、异常自愈等关键运维能力。
核心职责:配置加载与初始化
Master 进程启动时第一件事就是读取并严格校验 nginx.conf 文件:检查语法是否正确、路径是否存在、权限是否足够、模块是否可用。校验失败会直接退出并报错。校验通过后,它会完成监听套接字(如 0.0.0.0:80)的创建、bind 和 listen,并为后续 Worker 进程做好资源准备(如共享内存区、日志缓冲、连接池结构等)。
核心职责:Worker 进程全生命周期管理
Master 按照 worker_processes 指令 fork 出指定数量的 Worker 子进程。之后持续监控它们的状态:
- 当某个 Worker 因崩溃、OOM 或被 kill -9 终止时,Master 会立即拉起一个新 Worker 补足数量
- 收到 SIGQUIT(如
nginx -s quit)时,通知所有 Worker 优雅退出——处理完当前请求再关闭 - 收到 SIGTERM(如
nginx -s stop)时,强制终止所有 Worker - Worker 进程以非特权用户(如 www-data)运行,与 Master 权限分离,提升安全性
核心职责:信号接收与统一调度
所有外部控制信号都只发给 Master 进程,它负责翻译并分发:
- SIGHUP → 重新加载配置:启动新 Worker,逐步关停旧 Worker,零中断生效
- SIGUSR1 → 重新打开日志文件:用于日志切割,避免手动重启
- SIGUSR2 + SIGWINCH → 平滑升级 Nginx 二进制文件
- SIGINT / SIGTERM → 快速终止服务(生产环境慎用)
其他关键支撑功能
Master 还承担一些辅助但重要的任务:
- 统一接管日志写入:Worker 将日志内容写入管道或共享内存,由 Master 落盘,降低磁盘 I/O 竞争
- 协调连接分发:配合 accept_mutex 避免“惊群效应”,让 Worker 轮流接受新连接
- 管理嵌入式 Perl 脚本编译(若启用)
- 维护共享内存段,供 Worker 间轻量通信(如限速、缓存状态同步)











