全部学科
NodeJS全栈
nodejs
Python全栈
python
小程序首页
📅 2026-05-20 5 分钟 ✍️ juanwangdev

nginx events配置段

events 配置段控制 Nginx 如何处理网络连接,直接影响并发性能。

基础配置

nginx
events {
    worker_connections 1024;
    multi_accept on;
    use epoll;
}

核心指令

worker_connections

nginx
events {
    worker_connections 1024;
}

设置单个工作进程可同时打开的最大连接数。

说明
1024默认值,适合一般场景
4096高并发场景
65535极高并发场景

计算公式

最大并发数 = worker_processes × worker_connections

反向代理场景需减半(前后端各占一个连接)

multi_accept

nginx
events {
    multi_accept on;
}
说明
on工作进程一次性接受多个新连接
off每次只接受一个连接(默认)

高并发场景建议开启。

use

nginx
events {
    use epoll;      # Linux
    use kqueue;     # FreeBSD/macOS
    use select;     # 通用(性能较差)
}

指定连接处理方法,推荐使用系统最优方法。

方法适用平台性能
epollLinux 2.6+最优
kqueueFreeBSD/macOS
select通用
poll通用

Nginx 默认自动选择最优方法,无需手动指定。

accept_mutex

nginx
events {
    accept_mutex on;
}
说明
on串行接受连接,避免惊群效应(Nginx 1.11.3 前默认 on)
off并行接受连接(1.11.3 后默认 off)

accept_mutex_delay

nginx
events {
    accept_mutex on;
    accept_mutex_delay 500ms;
}

未获取 accept_mutex 的工作进程等待时间。

完整示例

nginx
events {
    worker_connections 4096;
    multi_accept on;
    # use 指令通常无需设置,Nginx 自动选择最优方法
}

性能调优建议

nginx
# 根据 CPU 核心数调整
worker_processes auto;

events {
    worker_connections 4096;
    multi_accept on;
}

配合系统限制调整:

Bash
# 查看文件描述符限制
ulimit -n

# 临时调整
ulimit -n 65535

注意事项

  • worker_connections 不超过系统 ulimit 值
  • 反向代理场景实际可用连接数减半
  • Nginx 1.11.3 后 accept_mutex 默认 off,无需手动调整

要点总结

  • events 配置段定义连接处理方式,影响并发性能
  • worker_connections 设置单进程最大连接数,总并发 = 进程数 × 连接数
  • multi_accept on 提升高并发场景连接接受效率
  • use 指令指定连接处理方法,Nginx 自动选择最优
  • worker_connections 值不能超过系统 ulimit 限制

📝 发现内容有误?点击此处直接编辑

← 上一篇 静态文件服务配置
下一篇 → nginx http配置段
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库