在Debian上配置Nginx的緩存策略,可以通過設置Nginx的proxy_cache_path和proxy_cache_key指令來實現。以下是一個基本的配置示例:
/etc/nginx/nginx.conf或/etc/nginx/sites-available/your_domain.conf。sudo nano /etc/nginx/nginx.conf
或者
sudo nano /etc/nginx/sites-available/your_domain.conf
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;
# ...
}
這里的參數解釋如下:
/var/cache/nginx:緩存文件的存儲路徑。levels=1:2:緩存目錄的層級結構。keys_zone=my_cache:10m:定義一個名為my_cache的緩存區域,大小為10MB。max_size=1g:緩存的最大總大小為1GB。inactive=60m:如果在60分鐘內沒有被訪問,緩存文件將被刪除。use_temp_path=off:禁用臨時文件路徑。server或location塊中,添加proxy_cache指令以啟用緩存,并使用proxy_cache_key自定義緩存鍵。例如:server {
# ...
location / {
proxy_pass http://your_backend_server;
proxy_cache my_cache;
proxy_cache_key "$scheme$proxy_host$request_uri";
proxy_cache_valid 200 302 10m;
proxy_cache_valid 404 1m;
add_header X-Proxy-Cache $upstream_cache_status;
}
# ...
}
這里的參數解釋如下:
proxy_cache my_cache:啟用名為my_cache的緩存區域。proxy_cache_key "$scheme$proxy_host$request_uri":自定義緩存鍵,包括協議、主機名和請求URI。proxy_cache_valid 200 302 10m:對于200和302狀態碼的響應,緩存10分鐘。proxy_cache_valid 404 1m:對于404狀態碼的響應,緩存1分鐘。add_header X-Proxy-Cache $upstream_cache_status:在響應頭中添加X-Proxy-Cache,顯示緩存狀態(HIT、MISS等)。保存更改并退出編輯器。
測試Nginx配置是否正確:
sudo nginx -t
sudo systemctl reload nginx
現在,Nginx將根據配置的緩存策略緩存來自后端服務器的響應。請注意,這只是一個基本的配置示例,您可以根據實際需求進行調整。