在Debian系統上配置Nginx緩存可以顯著提高網站的性能和響應速度。以下是一些關鍵的配置技巧和步驟:
proxy_cache_path
指令定義緩存存儲路徑和相關參數。例如:http {
proxy_cache_path /data/cache levels=1:2 keys_zone=sys_cache:10m max_size=10g inactive=60m;
}
levels=1:2
:定義緩存文件存儲目錄的層次結構。keys_zone=sys_cache:10m
:定義共享內存區域的名稱為 sys_cache
,大小為10MB。max_size=10g
:指定緩存的最大容量為10GB。inactive=60m
:設置緩存的有效時間為60分鐘。location
中使用緩存:
使用 proxy_cache
指令使得匹配的請求開啟緩存。例如:server {
listen 80;
server_name mysite.com;
location / {
proxy_cache sys_cache;
proxy_pass http://api_server;
}
}
location / {
expires 2h;
proxy_cache_valid 200 2h;
proxy_cache_valid 302 2m;
proxy_cache_valid 404 30s;
proxy_cache_valid any 30s;
proxy_cache_key $uri$is_args$args;
proxy_ignore_headers Set-Cookie Cache-Control;
proxy_hide_header Cache-Control;
proxy_hide_header Set-Cookie;
}
expires 2h
:設置Expires頭,告訴瀏覽器在2小時內可以放心使用緩存到本地的文件。proxy_cache_valid
:設置不同狀態碼響應結果的緩存時間。proxy_cache_key
:為請求生成唯一的緩存鍵。proxy_ignore_headers
和 proxy_hide_header
:隱藏某些HTTP頭信息,以避免影響緩存。proxy_no_cache
和 proxy_cache_bypass
指令。例如:location ~* \.(jpg|jpeg|png|gif)$ {
proxy_cache_bypass $http_cache_control;
proxy_no_cache $http_cache_control;
}
proxy_cache_min_uses
指令。例如:proxy_cache_min_uses 1;
proxy_cache_methods
指令。例如:proxy_cache_methods GET HEAD;
rm -rf /usr/local/proxy_cache
ngx_cache_purge
:
安裝并使用 ngx_cache_purge
模塊,并通過 proxy_cache_purge
指令手動清除緩存。通過以上配置技巧,可以在Debian系統上高效地配置Nginx緩存,從而提升網站性能和用戶體驗。