在Debian系統上優化Nginx的緩存策略可以通過以下步驟進行:
sudo apt update
sudo apt install nginx
sudo mkdir -p /var/cache/nginx
sudo chown -R www-data:www-data /var/cache/nginx
/etc/nginx/nginx.conf,或者你可以選擇編輯特定站點的配置文件,通常位于 /etc/nginx/sites-available/default。sudo nano /etc/nginx/nginx.conf
http、server 或 location 塊中添加緩存相關的配置。以下是一個示例配置:http {
# 緩存路徑和參數
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=1g inactive=60m use_temp_path=off;
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;
}
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires 30d;
add_header Cache-Control "public, no-transform";
}
}
}
proxy_cache_path:定義緩存路徑和相關參數。
levels=1:2:定義緩存目錄的層級結構。keys_zone=my_cache:10m:定義緩存區域的名稱和大小。max_size=1g:定義緩存的最大大小。inactive=60m:定義緩存項在未被訪問后多久失效。use_temp_path=off:禁用臨時文件路徑。proxy_cache my_cache:啟用名為 my_cache 的緩存區域。proxy_pass http://backend_server:指定后端服務器的地址。proxy_cache_valid:定義不同HTTP狀態碼的緩存時間。add_header X-Proxy-Cache $upstream_cache_status:添加一個HTTP頭,顯示緩存狀態。location ~* \.(jpg|jpeg|png|gif|ico|css|js)$:為靜態文件設置緩存控制頭。sudo nginx -t
sudo systemctl restart nginx
強緩存和協商緩存:
cache-control 和 expires 控制。location /static/ {
add_header cache-control "public, max-age=31536000";
expires 1y;
}
location /dynamic/ {
add_header last-modified "";
etag on;
}
啟用Gzip壓縮: Nginx支持在傳輸響應之前對內容進行壓縮,減少帶寬使用并提升用戶體驗。
http {
gzip on;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/xml text/css application/javascript;
}
server {
listen 443 ssl http2;
server_name example.com;
ssl_certificate /path/to/certificate.crt;
ssl_certificate_key /path/to/certificate.key;
}
通過以上步驟和配置,你可以在Debian系統上優化Nginx的緩存策略,從而提升網站性能和響應速度。