溫馨提示×

Nginx在Debian上的緩存策略有哪些

小樊
54
2025-06-10 17:49:44
欄目: 智能運維

Nginx在Debian上的緩存策略主要包括反向代理緩存、內容緩存、靜態文件緩存和FastCGI緩存。以下是具體的緩存策略和配置示例:

反向代理緩存

Nginx作為反向代理緩存,將從后端服務器獲取的內容緩存到本地。對于后續相同請求,Nginx直接返回緩存內容,無需請求后端服務器。

內容緩存(Content Cache)

Nginx可以緩存內容本身(如HTTP響應),減少對后端的請求,提高響應速度。

靜態文件緩存

Nginx通常用于緩存靜態資源,如圖片、CSS文件、JavaScript文件等。通過長時間緩存靜態文件,減少靜態文件的重復請求,提高網站響應速度。

FastCGI緩存

對于使用FastCGI協議的動態內容,Nginx也支持緩存,這對于PHP、Python、Ruby等后端應用程序非常有用。

Nginx緩存配置示例

server {
    listen 80;
    server_name static.example.com;

    # 靜態資源根目錄
    root /data/static;

    # 文件查找規則
    location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
        # 緩存控制頭
        add_header Cache-Control "public, max-age=31536000, immutable";
        # 開啟高效文件傳輸
        sendfile on;
        tcp_nopush on;
        # 文件元數據緩存
        open_file_cache max=1000 inactive=20s;
        open_file_cache_valid 30s;
        # 文件預讀
        read_ahead 1m;
        # 暴力防盜鏈
        valid_referers none blocked server_names *.example.com;
        if ($invalid_referer) {
            return 403;
        }
    }

    # 版本化資源處理
    location ~* ^/v\d+/(.*)$ {
        try_files /$1 =404;
    }
}

緩存控制頭

  • Cache-Control: public, max-age=31536000, immutable;:公共緩存,最大年齡31536000秒,不可變。

靜態資源緩存配置

location ~* \.(jpg|jpeg|png|gif|css|js|ico|woff|woff2|ttf|eot|svg|otf)$ {
    expires 30d;
    add_header Cache-Control "public";
    access_log off;
}

商品頁面緩存配置

location /product/ {
    proxy_cache cache_zone;
    proxy_cache_key $uri;
    proxy_cache_valid 200 10m;
    proxy_cache_valid 404 1m;
    proxy_cache_use_stale error timeout updating;
}

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女