溫馨提示×

nginx配置中如何設置緩存策略

小樊
40
2025-08-28 01:51:26
欄目: 編程語言

在Nginx配置中設置緩存策略,主要涉及到以下幾個指令:proxy_cache_path、proxy_cache_key、proxy_cache_valid、proxy_cache_bypassproxy_no_cache。以下是一個簡單的示例,展示了如何在Nginx配置文件中設置緩存策略:

  1. 打開Nginx配置文件,通常位于 /etc/nginx/nginx.conf/etc/nginx/sites-available/your_domain.conf。

  2. httpserver 塊中,使用 proxy_cache_path 指令定義緩存路徑和參數。例如:

http {
    ...
    proxy_cache_path /tmp/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off;
    ...
}

這里,我們定義了一個名為 my_cache 的緩存區域,最大容量為1GB,緩存文件的最大閑置時間為60分鐘。

  1. serverlocation 塊中,使用 proxy_cache_key 指令自定義緩存鍵。例如:
server {
    ...
    location / {
        ...
        proxy_cache_key "$scheme$proxy_host$request_uri";
        ...
    }
}

這里,我們使用協議、主機名和請求URI組合作為緩存鍵。

  1. 使用 proxy_cache_valid 指令設置緩存有效時間。例如:
server {
    ...
    location / {
        ...
        proxy_cache_valid 200 302 10m;
        proxy_cache_valid 404 1m;
        ...
    }
}

這里,我們設置了200和302狀態碼的響應緩存時間為10分鐘,404狀態碼的響應緩存時間為1分鐘。

  1. 使用 proxy_cache_bypassproxy_no_cache 指令控制哪些請求不使用緩存。例如:
server {
    ...
    location / {
        ...
        proxy_cache_bypass $http_cache_control;
        proxy_no_cache $http_pragma;
        ...
    }
}

這里,我們根據HTTP頭信息中的 Cache-ControlPragma 字段來決定是否跳過緩存。

  1. 保存配置文件并重啟Nginx服務以應用更改:
sudo nginx -t      # 檢查配置文件語法是否正確
sudo nginx -s reload  # 重新加載配置文件

以上示例展示了如何在Nginx中設置基本的緩存策略。您可以根據實際需求調整這些指令的值。

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