Nginx 启动创建多个进程

Nginx 启动后至少会有两个进程。这是它的典型 多进程架构设计:

Nginx 的进程模型

启动时,Nginx 会分成 一个 Master 进程一个或多个 Worker 进程

  1. Master 进程

    • 负责管理 Worker 进程。

    • 功能:

      • 读取并验证配置文件 (nginx -t)
      • 启动 / 停止 / 重启 Worker 进程
      • 接收控制信号(如 nginx -s reloadstop)并转发给 Worker
    • Master 本身几乎不处理实际请求。

  2. Worker 进程(默认 1 个,可配置多进程)

    • 真正处理客户端请求(HTTP / TCP / UDP)。
    • 每个 Worker 是单进程 + 异步非阻塞事件驱动模型(基于 epoll/kqueue)。
    • 多个 Worker 不会相互竞争同一个连接,由内核决定分发给哪个 Worker。

查看进程

执行:

ps -ef | grep nginx

示例输出:

root      1234     1  0 10:00 ?        00:00:00 nginx: master process /usr/sbin/nginx
www-data  1235  1234  0 10:00 ?        00:00:00 nginx: worker process
www-data  1236  1234  0 10:00 ?        00:00:00 nginx: worker process
  • 第一行是 master
  • 后面是 worker,数量取决于 nginx.conf 里的配置。

Worker 数量配置

nginx.conf 里:

worker_processes auto;
  • auto → 根据 CPU 核心数自动设置(推荐,生产常用)。
  • 1 → 只有一个 worker(测试/轻量场景)。
  • 手动设为 4 → 启动 4 个 Worker 进程。

总结

  • Nginx 启动时至少有 2 个进程:1 个 Master + 至少 1 个 Worker。
  • Master 管理,Worker 干活。
  • Worker 数量可调,建议与 CPU 核心数一致(或 auto)。

Nginx Master-Worker 进程模型示意图(带请求分发流程)

                   ┌────────────────────────────┐
                   │        Master 进程         │
                   │ (负责管理 Worker,不处理请求) │
                   └─────────────┬──────────────┘
                                 │
                 ┌───────────────┼───────────────┐
                 │               │               │
                 ▼               ▼               ▼
       ┌────────────────┐ ┌────────────────┐ ┌────────────────┐
       │ Worker 进程 1  │ │ Worker 进程 2  │ │ Worker 进程 N  │
       │ (处理请求)     │ │ (处理请求)     │ │ (处理请求)     │
       └───────┬────────┘ └───────┬────────┘ └───────┬────────┘
               │                  │                  │
               ▼                  ▼                  ▼
        ┌─────────────┐    ┌─────────────┐    ┌─────────────┐
        │ 客户端请求 1 │    │ 客户端请求 2 │    │ 客户端请求 3 │
        └─────────────┘    └─────────────┘    └─────────────┘

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

思静鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值