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 之间即可满足需求。

相关推荐
曹牧1 小时前
Java:代理转发配置Nginx
java·开发语言·nginx
nhfc992 小时前
Gitlab备份且提交Windows服务器数据
服务器·windows·gitlab
wenyi_leo2 小时前
强大的claude code
linux·运维·服务器
宇钶宇夕2 小时前
CoDeSys入门实战一起学习(二十六):功能块(FBD)运算块与EN/ENO指令精讲及计数控制案例
运维·学习·自动化·软件工程
知无不研2 小时前
Linux下socket网络编程
linux·运维·网络·后端·socket编程
2401_858286112 小时前
OS55.【Linux】System V消息队列的简单了解
linux·运维·服务器
zdIdealism2 小时前
cnPuTTY CAC 0.83 Update 1—PuTTY CAC 0.83中文版本简单说明~~
linux·运维·服务器·ssh·putty·putty-cac
landonVM2 小时前
Linux VPS 怎么设置密钥登录
linux·运维·服务器
RisunJan2 小时前
Linux命令-ln(在文件或目录之间创建链接)
linux·运维·服务器