温馨提示×

centos nginx如何优化缓存

小樊
35
2025-12-23 10:35:45
栏目: 智能运维

在CentOS上优化Nginx缓存可以通过调整Nginx配置文件来实现。以下是一些常见的优化策略:

  1. 调整缓冲区大小

    • proxy_buffer_size:设置读取代理服务器响应头时使用的缓冲区大小。
    • proxy_buffers:设置用于存储代理服务器响应体的缓冲区数量和大小。
    • proxy_busy_buffers_size:设置在代理服务器响应体被客户端读取之前,可以存储的最大数据量。
  2. 启用Gzip压缩

    • 通过压缩传输的数据,可以减少网络传输时间,节省带宽。
  3. 使用Keep-Alive

    • 保持连接打开,减少建立和关闭连接的开销。
  4. 调整FastCGI缓存

    • 如果你使用FastCGI来处理PHP等脚本,可以启用FastCGI缓存来提高性能。
  5. 静态文件缓存

    • 对于静态文件,可以设置较长的缓存时间,减少对后端服务器的请求。
  6. 使用HTTP/2

    • HTTP/2提供了多路复用、头部压缩等特性,可以提高页面加载速度。
  7. 调整工作进程和连接数

    • 根据服务器的硬件资源,合理设置工作进程的数量和每个进程可以同时打开的最大连接数。

下面是一个示例配置,展示了如何在Nginx中应用这些优化策略:

http {
    # 缓冲区大小
    proxy_buffer_size 128k;
    proxy_buffers 4 256k;
    proxy_busy_buffers_size 256k;

    # Gzip压缩
    gzip on;
    gzip_vary on;
    gzip_proxied any;
    gzip_comp_level 6;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

    # Keep-Alive
    keepalive_timeout 65;
    keepalive_requests 100;

    # FastCGI缓存
    fastcgi_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m inactive=60m;
    fastcgi_cache_key "$scheme$request_method$host$request_uri";
    fastcgi_cache_valid 200 302 10m;
    fastcgi_cache_valid 404 1m;

    # 静态文件缓存
    location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
        expires 30d;
        add_header Cache-Control "public, no-transform";
    }

    # 使用HTTP/2
    server {
        listen 443 ssl http2;
        server_name example.com;

        ssl_certificate /etc/pki/tls/certs/example.com.crt;
        ssl_certificate_key /etc/pki/tls/private/example.com.key;

        # 其他配置...
    }

    # 调整工作进程和连接数
    worker_processes auto;
    events {
        worker_connections 1024;
    }
}

请注意,这只是一个示例配置,你需要根据你的具体需求和服务器资源进行调整。在修改配置文件后,记得重新加载或重启Nginx服务以使更改生效:

sudo systemctl reload nginx

或者

sudo nginx -s reload

在进行任何重大更改之前,建议备份原始的Nginx配置文件。

0