找回密码
 立即注册
查看: 33|回复: 0

nginx 性能优化配置

[复制链接]

79

主题

161

回帖

1449

积分

超级版主

积分
1449
发表于 2025-6-11 19:34:51 | 显示全部楼层 |阅读模式
本帖最后由 非凡云 于 2025-6-11 19:52 编辑

一、Nginx配置优化
  • 调整 worker_processes 参数,通常设置为等于服务器的 CPU 核心数。
  • 调整 worker_connections 参数,以增加每个 Worker 进程可以打开的连接数。
  1. events {
  2.     worker_connections 1024;
  3. }
  4. worker_processes auto;
复制代码
  • 使用 HTTP/2 协议,利用多路复用和头部压缩等特性,提高页面加载速度。
  1. server {
  2.     listen 80;
  3.     listen [::]:80;
  4.     listen 443 ssl http2;
  5.     listen [::]:443 ssl http2;
  6. }
复制代码
  • 优化 SSL/TLS 配置,如关闭不安全的加密算法、使用 TLS 1.3 等,提高安全性和性能。
  1. ssl_protocols TLSv1.2 TLSv1.3;
  2. ssl_ciphers HIGH:!aNULL:!MD5;
复制代码

二、缓存配置
  • 启用文件缓存,减少磁盘 I/O 操作。
  • 使用代理缓存,缓存后端服务器的响应内容。
  • 设置合理的缓存过期策略,通过 Cache-Control 和 Expires 头控制浏览器缓存的有效期,减少请求次数。
  1. proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off;
  2. server {
  3.     location / {
  4.         proxy_cache my_cache;
  5.         proxy_pass http://backend;
  6.     }
  7. }
复制代码
在上面这段配置中,proxy_cache_path 指令用于配置一个缓存区域,该区域用于存储代理请求的响应内容。这个指令通常在 http 块中使用,并且是 ngx_cache_purge 模块和 ngx_http_proxy_module 模块的一部分。

三、压缩配置
  • 启用 Gzip 压缩,减少数据传输量,提高响应速度。
  • 根据服务器的 CPU 能力和网络条件平衡压缩级别和最小压缩大小,以达到最佳的性能。
  1. gzip on;
  2. gzip_vary on;
  3. gzip_proxied any;
  4. gzip_comp_level 5;
  5. gzip_min_length 256;
  6. 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 类型的响应将被压缩。
非凡云致力于提供高品质、高性价比的云服务产品
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|非凡云交流社区 ( 蜀ICP备2023029164号-2 )

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表