centos

centos nginx缓存设置技巧

小樊
45
2025-06-18 10:18:38
栏目: 智能运维

在CentOS上配置Nginx缓存可以显著提高网站的性能和响应速度。以下是一些关键的缓存设置技巧:

基本缓存配置步骤

  1. 安装Nginx和必要的模块

    sudo yum install epel-release
    sudo yum install nginx
    sudo yum install nginx-mod-http-cache
    
  2. 配置缓存路径: 在Nginx的http块中使用proxy_cache_path指令定义缓存存储路径和相关参数。

    http {
        proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off;
    }
    
  3. serverlocation块中启用缓存: 使用proxy_cache指令指定使用的缓存区域,并设置缓存策略。

    server {
        listen 80;
        server_name example.com;
        location / {
            proxy_pass http://backend_server;
            proxy_cache my_cache;
            proxy_cache_valid 200 302 10m;
            proxy_cache_valid 404 1m;
            add_header X-Proxy-Cache $upstream_cache_status;
        }
    }
    

高级缓存设置技巧

  1. 多级缓存体系: 结合内存缓存和磁盘缓存,适用于内容更新频率差异大的场景。

    http {
        proxy_cache_path /var/cache/nginx/memory levels=1:2 keys_zone=hot_cache:10m max_size=1g inactive=60m use_temp_path=off;
        proxy_cache_path /var/cache/nginx/disk levels=1:2 keys_zone=cold_cache:100m max_size=10g inactive=24h use_temp_path=off;
    
        server {
            location / {
                proxy_cache hot_cache;
                proxy_cache_valid 200 302 10m;
                error_page 404 = @backend_pass;
            }
            location @backend_pass {
                proxy_cache cold_cache;
                proxy_cache_valid 200 302 1h;
                proxy_pass http://backend;
            }
        }
    }
    
  2. 缓存预热: 在网站启动或低峰时段预先加载热门内容到缓存中。

    for path in "${warmup_list[@]}"; do
        curl -s -o /dev/null https://yoursite.com/$path
    done
    
  3. 智能缓存清理: 使用proxy_cache_purge指令手动清除指定URL的缓存。

    location ~ /purge(/.*) {
        proxy_cache_purge prod_cache "$scheme$request_method$host$1";
    }
    
  4. 缓存压缩: 对缓存内容进行压缩存储,节省空间。

    gzip on;
    gzip_types text/plain text/css application/json application/javascript;
    gzip_min_length 1024;
    proxy_cache_valid 200 302 10m;
    proxy_cache_use_stale updating;
    
  5. 监控和分析缓存命中率: 使用proxy_cache_status指令监控缓存命中率,帮助优化缓存策略。

    location /cache-status {
        proxy_cache_status on;
        access_log off;
        allow 192.168.1.0/24;
        deny all;
    }
    

注意事项

通过以上配置和技巧,你可以在CentOS上高效地配置Nginx缓存,提升网站性能和用户体验[1,4,5,6,7,9,10,11,12,13,14]。

0
看了该问题的人还看了