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

Nginx 技巧:為靜態內容快取設置過期頭

Nginx 技巧:為靜態內容快取設置過期頭

在現今的網絡環境中,網站的性能和加載速度對用戶體驗至關重要。Nginx 作為一個高效的網頁伺服器,提供了多種功能來優化靜態內容的交付。其中,設置過期頭(Expires Headers)是提升靜態內容快取效率的一個重要技巧。本文將深入探討如何在 Nginx 中設置過期頭,以提高網站性能。

什麼是過期頭?

過期頭是一種 HTTP 標頭,用於告訴瀏覽器和其他客戶端在多長時間內可以快取靜態資源。通過設置過期頭,伺服器可以減少對靜態資源的請求次數,從而減輕伺服器負擔並加快頁面加載速度。

為什麼要設置過期頭?

  • 提高性能:通過快取靜態內容,減少伺服器的請求負擔,從而提高網站的整體性能。
  • 改善用戶體驗:快速加載的網站能夠提供更好的用戶體驗,降低跳出率。
  • 節省帶寬:減少重複請求可以有效節省帶寬,降低運營成本。

如何在 Nginx 中設置過期頭

在 Nginx 中設置過期頭非常簡單。以下是基本的配置步驟:

1. 編輯 Nginx 配置文件

首先,您需要找到並編輯 Nginx 的配置文件,通常位於 /etc/nginx/nginx.conf 或 /etc/nginx/sites-available/default。使用您喜歡的文本編輯器打開該文件。

2. 添加過期頭設置

在 server 區塊或 location 區塊中,您可以使用以下代碼來設置過期頭:

location ~* .(jpg|jpeg|png|gif|ico|css|js|woff|woff2|ttf|svg)$ {
    expires 30d;  # 設置過期時間為 30 天
    add_header Cache-Control "public, max-age=2592000";  # 設置 Cache-Control 標頭
}

在這段代碼中,我們針對常見的靜態文件類型(如圖片、CSS 和 JavaScript 文件)設置了過期時間為 30 天。這意味著用戶的瀏覽器在 30 天內不會重新請求這些資源,而是直接從快取中加載。

3. 測試配置

完成配置後,您需要測試 Nginx 配置是否正確。可以使用以下命令來檢查配置:

sudo nginx -t

如果沒有錯誤,您可以重新加載 Nginx 以應用更改:

sudo systemctl reload nginx

檢查過期頭是否生效

您可以使用瀏覽器的開發者工具或命令行工具(如 curl)來檢查過期頭是否正確設置。例如,使用 curl 命令:

curl -I http://yourdomain.com/path/to/static/file.jpg

在響應中,您應該能夠看到類似以下的標頭:

Expires: Wed, 21 Oct 2025 07:28:00 GMT
Cache-Control: public, max-age=2592000

結論

設置過期頭是優化 Nginx 伺服器性能的一個簡單而有效的方法。通過合理配置過期時間,您可以顯著提高靜態內容的加載速度,改善用戶體驗,並節省帶寬。對於希望提升網站性能的網站管理員來說,這是一個不可忽視的技巧。

如果您正在尋找高效的 香港 VPS 解決方案,Server.HK 提供多種選擇,幫助您輕鬆管理和優化您的網站。