nginx 性能优化配置
本帖最后由 非凡云 于 2025-6-11 19:52 编辑一、Nginx配置优化
[*]调整 worker_processes 参数,通常设置为等于服务器的 CPU 核心数。
[*]调整 worker_connections 参数,以增加每个 Worker 进程可以打开的连接数。
events {
worker_connections 1024;
}
worker_processes auto;
[*]使用 HTTP/2 协议,利用多路复用和头部压缩等特性,提高页面加载速度。
server {
listen 80;
listen [::]:80;
listen 443 ssl http2;
listen [::]:443 ssl http2;
}
[*]优化 SSL/TLS 配置,如关闭不安全的加密算法、使用 TLS 1.3 等,提高安全性和性能。
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
二、缓存配置
[*]启用文件缓存,减少磁盘 I/O 操作。
[*]使用代理缓存,缓存后端服务器的响应内容。
[*]设置合理的缓存过期策略,通过 Cache-Control 和 Expires 头控制浏览器缓存的有效期,减少请求次数。
proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off;
server {
location / {
proxy_cache my_cache;
proxy_pass http://backend;
}
}在上面这段配置中,proxy_cache_path 指令用于配置一个缓存区域,该区域用于存储代理请求的响应内容。这个指令通常在 http 块中使用,并且是 ngx_cache_purge 模块和 ngx_http_proxy_module 模块的一部分。
三、压缩配置
[*]启用 Gzip 压缩,减少数据传输量,提高响应速度。
[*]根据服务器的 CPU 能力和网络条件平衡压缩级别和最小压缩大小,以达到最佳的性能。
gzip on;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 5;
gzip_min_length 256;
gzip_types text/plain application/xml application/json application/javascript text/css;
[*]gzip on;:启用 Gzip 压缩。当这个指令被设置为 on 时,Nginx 会尝试压缩响应体并发送给客户端。
[*]gzip_vary on;:这个指令告诉 Nginx 在响应头中添加Vary: Accept-Encoding。这允许缓存系统(如代理或 CDN)根据客户端是否支持压缩来存储不同的响应版本。
[*]gzip_proxied any;:这个指令允许 Nginx 对从任何代理服务器接收的响应进行压缩,无论响应是否已经被压缩。any 表示无论原始响应是否被压缩,Nginx 都会尝试再次压缩它。其他选项包括 off(不压缩任何代理的响应)和 expired(只压缩那些已经过期的代理响应)。
[*]gzip_comp_level 5;:这个指令设置 Gzip 压缩级别。压缩级别范围从 1(最快,压缩比最低)到 9(最慢,压缩比最高)。5 是一个在速度和压缩比之间取得平衡的常用值。
[*]gzip_min_length 256;:这个指令设置响应体的最小长度,只有当响应体大于或等于这个值时,Nginx 才会对其进行压缩。这里设置为 256 字节,意味着只有当响应体大于或等于 256 字节时,才会进行压缩。
[*]gzip_types text/plain application/xml application/json application/javascript text/css;:这个指令指定了哪些 MIME 类型的响应应该被压缩。在这个例子中,文本、XML、JSON、JavaScript 和 CSS 类型的响应将被压缩。
页:
[1]