Nginx优化性能的配置项详解

 更新时间:2026年07月09日 09:53:41   作者:月小泪  
掌握Nginx性能优化的核心秘籍,立即提升网站响应速度!本文将深入解析worker进程、缓存配置和网络调优等关键技巧,助你轻松应对高并发,点击阅读,获取实战经验,让服务器运行更高效

Nginx性能优化可以通过调整以下配置项来实现,涵盖网络、缓存、并发、连接管理等多个方面:

1.Worker相关配置

worker 进程数默认为 1 ,单进程最大连接数为1024。

这些配置决定了Nginx处理请求的能力:

worker_processes

设置Nginx工作进程的数量,一般配置为服务器CPU核心数。

worker_processes auto;

worker_connections

每个worker进程可以处理的最大并发连接数。

worker_connections 1024;

理论最大并发连接数 = worker_processes x worker_connections

 worker_cpu_affinity

设置nginxCPU亲缘性绑定。如果多个 worker 进程都在抢同一个 CPU,那么这就会出现同步问题。

反之,如果每一个 worker 进程都独享一个 CPU,就在内核的调度策略上实现了完全的并发。

# `8`颗`CPU`内核,可进行如下配置
worker_processes 8;
worker_cpu_affinity 00000001 00000010 00000100 0000100000010000 00100000 01000000 10000000;

2.网络优化

keepalive_timeout

设置客户端连接的保持时间,过短会增加TCP重建开销,过长可能浪费资源。

keepalive_timeout 30; # 单位是秒,超时时间设得长一些

sendfile

作为web服务器的时候打开sendfile加快静态文件传输,俗称零拷贝,在内核空间交换文件。启用零拷贝机制,提高文件传输效率。

sendfile on;

tcp_nopushtcp_nodelay

tcp_nopush on; 
tcp_nodelay on;
  • tcp_nopush: 减少网络包的数量,提高传输效率(适用于大文件传输)。
  • tcp_nodelay: 避免小数据包的延迟发送(适用于实时数据)。

3.缓存优化

proxy_cache

启用反向代理缓存,减少后端服务器压力。

proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off; 
proxy_cache my_cache;

proxy_buffers

配置缓存缓冲区的数量和大小。

proxy_buffers 16 4k;

4.压缩优化

gzip 启用压缩以减少数据传输量:

gzip on; 
gzip_min_length 1024; 
gzip_types text/plain application/json application/javascript text/css;

5.日志管理

日志过多会消耗I/O资源:

减少日志级别:

error_log /var/log/nginx/error.log warn; 
access_log off;

6.超时时间

client_body_timeoutclient_header_timeout

设置客户端请求头和请求体的超时时间:

client_body_timeout 10s; 
client_header_timeout 10s;

send_timeout

设置服务器向客户端发送响应的超时时间:

send_timeout 30s;

7.负载均衡优化

upstream

配置如轮询(默认)、最少连接、IP hash等负载均衡算法:

upstream backend { 
    least_conn; 
    server backend1.example.com; 
    server backend2.example.com; 
}

8.限制连接和请求

limit_connlimit_req

限制单个IP的连接数和请求速率:

limit_conn_zone $binary_remote_addr zone=conn_limit:10m; 
limit_conn conn_limit 20; 

limit_req_zone $binary_remote_addr zone=req_limit:10m rate=10r/s; 
limit_req zone=req_limit burst=20;

9.允许Nginx进程打开文件数上限

增加Nginx允许打开的文件描述符数量:

在Nginx配置中:

worker_rlimit_nofile 10240;
  • 系统级别:调整ulimit/etc/security/limits.conf

实际的并发连接数不能超过系统级别的最大打开文件数的限制,与ulimit -n 或者limits.conf的值保持一致

10.SSL优化

启用和优化SSL性能:

ssl_session_cachessl_session_timeout

ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;

启用HTTP/2以提升多路复用能力:

listen 443 ssl http2;

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Nginx 504 Gateway Time-out的两种最新解决方案

    Nginx 504 Gateway Time-out的两种最新解决方案

    大家在访问网站的时候通常会遇到502错误、404错误等,很少会遇到504错误,但是在我们去访问大流量或者内容数据量较多的网站时,打开网页偶尔就会出现504 gateway time-out,这篇文章主要给大家介绍了关于Nginx 504 Gateway Time-out的两种解决方案,需要的朋友可以参考下
    2022-08-08
  • Nginx实现TCP和UDP代理的方法步骤

    Nginx实现TCP和UDP代理的方法步骤

    Nginx 1.9.13 及以上版本支持TCP/UDP代理功能,通过配置监听端口、后端服务器地址等参数,实现客户端请求的转发和响应的返回,下面就来介绍一下如何实现,感兴趣的可以了解一下
    2024-12-12
  • ‌Nginx Ingress网关吞吐量极限测试全过程

    ‌Nginx Ingress网关吞吐量极限测试全过程

    本文介绍了如何进行NginxIngress的吞吐量极限测试,涵盖工具选择、指标定义、配置优化及实战步骤,旨在帮助团队精准评估系统性能边界,确保高并发场景下的系统稳定性和可靠性
    2026-01-01
  • Nginx二进制程序文件sbin路径及其运行权限

    Nginx二进制程序文件sbin路径及其运行权限

    本文主要介绍了Nginx二进制程序文件sbin路径及其运行权限,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2026-04-04
  • 配置ab来为Nginx服务器做压力测试的方法

    配置ab来为Nginx服务器做压力测试的方法

    这篇文章主要介绍了配置ab来为Nginx服务器做压力测试的方法,ab是针对Apache的测试工具但本文讲解其测试Nginx的过程,需要的朋友可以参考下
    2016-01-01
  • nginx反向代理如何支持网址自动添加斜线

    nginx反向代理如何支持网址自动添加斜线

    这篇文章主要介绍了nginx反向代理如何支持网址自动添加斜线问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • nginx日志打印请求头信息示例详解

    nginx日志打印请求头信息示例详解

    这篇文章主要介绍了nginx日志打印请求头信息的相关资料,文章介绍了如何在Nginx中打印请求头中的自定义字段,并解决由于下划线导致的字段无法正确打印的问题,需要的朋友可以参考下
    2024-11-11
  • Nginx配置基于多域名、端口、IP的虚拟主机

    Nginx配置基于多域名、端口、IP的虚拟主机

    这篇文章主要介绍了Nginx配置基于多域名、端口、IP的虚拟主机,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-11-11
  • Nginx 过滤静态资源文件的访问日志的实现

    Nginx 过滤静态资源文件的访问日志的实现

    这篇文章主要介绍了Nginx 过滤静态资源文件的访问日志的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • Nginx安全防护与HTTPS部署实战

    Nginx安全防护与HTTPS部署实战

    文章介绍了Nginx安全加固与HTTPS部署,从编译安装、隐藏版本号、限制危险请求、请求限制、防盗链、动态黑名单、HTTPS部署等方面进行了详细说明,需要的朋友可以参考下
    2026-04-04

最新评论