服务器设置和教程 · 8 10 月, 2024

Nginx 技巧:配置快取清除與 proxy_cache_purge

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 提供多種選擇以滿足您的需求。