Nginx 技巧:配置快取清除與 proxy_cache_purge
Nginx 是一款高效能的網頁伺服器,廣泛應用於靜態內容的提供和反向代理服務。其快取功能能顯著提升網站的性能,減少伺服器負擔。然而,隨著內容的更新,適時清除快取變得至關重要。本文將探討如何在 Nginx 中配置快取清除及使用 proxy_cache_purge 指令。
快取的基本概念
快取是指將常用的資料存儲在記憶體或磁碟中,以便快速存取。Nginx 的快取機制可以有效減少對後端伺服器的請求,提升響應速度。當用戶請求某個資源時,Nginx 會首先檢查快取中是否已有該資源,如果有,則直接返回快取內容,否則再向後端伺服器請求。
配置 Nginx 快取
要啟用 Nginx 的快取功能,首先需要在配置檔中設置快取區域。以下是一個基本的配置範例:
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 1h;
proxy_cache_use_stale error timeout updating;
}
}
}在上述配置中,proxy_cache_path 指令定義了快取的存儲路徑及相關參數。keys_zone 用於定義快取區域的名稱和大小,max_size 設定快取的最大容量,inactive 則定義了快取資料的非活動時間。
使用 proxy_cache_purge 清除快取
在某些情況下,您可能需要手動清除快取,例如當網站內容更新時。Nginx 本身並不提供直接的快取清除功能,但可以通過配置 proxy_cache_purge 指令來實現。以下是如何配置的範例:
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://backend_server;
proxy_cache my_cache;
}
location ~ /purge(/.*) {
allow 127.0.0.1; # 只允許本地請求
deny all; # 拒絕其他請求
proxy_cache_purge my_cache $1;
}
}在這個配置中,我們新增了一個 /purge 路徑,允許從本地清除快取。當發送請求到 /purge/resource 時,Nginx 將會清除對應的快取資料。
注意事項
- 確保
proxy_cache_purge的路徑受到適當的訪問控制,以防止未經授權的清除操作。 - 定期檢查快取的使用情況,確保不會因為快取過多而影響伺服器性能。
- 在高流量的網站上,考慮使用更複雜的快取策略,以平衡性能和內容更新的需求。
總結
透過適當的配置,Nginx 的快取功能能顯著提升網站性能,而 proxy_cache_purge 指令則提供了靈活的快取管理方式。了解這些技巧後,您可以更有效地管理網站的快取策略,確保用戶獲得最新的內容。如果您正在尋找高效能的 香港VPS 解決方案,Server.HK 提供多種選擇以滿足您的需求。