nginx调优核心是缩短请求路径、精准调度资源、提升系统协同,关键包括:1.匹配硬件的进程与连接模型;2.加速静态资源交付;3.优化压缩与传输;4.精细化管理连接生命周期。

匹配硬件的进程与连接模型
worker_processes 应设为 auto,确保自动适配 CPU 核心数;单个 worker_connections 建议设为 8192~16384,而非默认的 1024。理论最大并发 = worker_processes × worker_connections,但必须同步调整系统级限制:
- 执行 ulimit -n 65535 提升文件描述符上限
- 在 nginx.conf 中添加 worker_rlimit_nofile 65535
- Linux 系统需配置 net.core.somaxconn = 65535(/etc/sysctl.conf)
加速静态资源交付链路
静态文件(JS/CSS/图片等)占多数请求,优化效果最直接:
- 启用内核级零拷贝:sendfile on; + tcp_nopush on;
- 设置浏览器强缓存:expires 365d; 配合 add_header Cache-Control "public, immutable";
- 缓存文件元信息:open_file_cache max=5000 inactive=30s; + open_file_cache_valid 60s;
压缩与传输效率控制
减小体积 + 减少分包 + 加快首字节响应:
- Gzip 启用并精简类型:gzip on; gzip_types text/css application/javascript image/svg+xml;
- 避免压缩已压缩资源(如 JPG、PNG),防止 CPU 浪费
- 开启 tcp_nodelay on;(尤其对 WebSocket 或 API 场景)降低小包延迟
连接生命周期精细化管理
长连接不等于永远不关,关键是“够用且及时释放”:
- keepalive_timeout 45s;(比默认 75s 更激进,兼顾复用率与内存压力)
- keepalive_requests 1000;(提升单连接吞吐,降低握手频次)
- client_header_timeout 12s; 和 client_body_timeout 12s; 防止慢速攻击占用 worker











