NGINX 参数配置与调优

复制代码
1 .worker_connections;#每个worker进程能处理的最大连接数。
复制代码
# 估算每个连接的内存占用(约 256KB-1MB,取决于配置)
可用内存 ÷ 每个连接内存 ≈ 总连接容量

# 示例:8GB 内存服务器
总内存 = 8 × 1024 = 8192 MB
保留系统和其他服务 = 2048 MB
NGINX 可用内存 = 6144 MB
每个连接估算内存 = 0.5 MB (512KB)

worker_connections ≈ (6144 ÷ 0.5) ÷ worker_processes
                  ≈ 12288 ÷ 4 (假设4个worker)
                  ≈ 3072
复制代码
2 .worker_processes auto; # 与CPU核心数一致,`auto`为自动检测。
3 .keepalive_timeout 65; # 客户端长连接保持时间。可适当降低(如30s)以释放连接。
4 .keepalive_requests 1000; # 单个长连接上可处理的请求数,避免频繁建连。
5. 针对参数 worker_rlimit_nofile:
复制代码
# 根据服务器内存大小推荐配置
# 内存 ≤ 2GB: worker_rlimit_nofile 20000
# 内存 4GB: worker_rlimit_nofile 40000
# 内存 8GB+: worker_rlimit_nofile 65535 或更高

worker_processes auto;
worker_rlimit_nofile 65535;

events {
    worker_connections 10240;
}

最终建议 :先设置为 65535(这是 Linux 下一个常见的较高值),然后通过监控实际使用情况,再决定是否需要进一步调整。大多数生产环境在 20000-50000 之间即可满足需求。

相关推荐
雪可问春风20 小时前
docker环境部署
运维·docker·容器
lwx91485220 小时前
Linux-Shell算术运算
linux·运维·服务器
翻斗包菜20 小时前
PostgreSQL 日常维护完全指南:从基础操作到高级运维
运维·数据库·postgresql
somi720 小时前
ARM-驱动-02-Linux 内核开发环境搭建与编译
linux·运维·arm开发
海的透彻21 小时前
nginx启动进程对文件的权限掌控
运维·chrome·nginx
路溪非溪21 小时前
Linux驱动开发中的常用接口总结(一)
linux·运维·驱动开发
此刻觐神21 小时前
IMX6ULL开发板学习-01(Linux文件目录和目录相关命令)
linux·服务器·学习
航Hang*21 小时前
第3章:Linux系统安全管理——第2节:部署代理服务
linux·运维·服务器·开发语言·笔记·系统安全
fengfuyao98521 小时前
VC++基于服务器的点对点文件传输实例
服务器·开发语言·c++
favour_you___1 天前
epoll惊群问题与解决
服务器·网络·tcp/ip·epoll