首頁 運維 Nginx Nginx快取清理配置,最佳化網站靜態資源更新

Nginx快取清理配置,最佳化網站靜態資源更新

Jul 05, 2023 am 11:57 AM
) nginx快取清理配置 ) 網站靜態資源更新 ) 優化網站效能

Nginx快取清理配置,最佳化網站靜態資源更新

引言:
在網站開發過程中,常會有靜態資源的更新,如CSS、JavaScript和圖片等。然而,由於瀏覽器的快取機制,訪客可能無法立即取得到最新版本的靜態資源。為了解決這個問題,我們可以使用Nginx進行快取清理配置,以最佳化網站靜態資源的更新。

一、Nginx快取設定
首先,我們需要在Nginx的設定檔nginx.conf中加入以下指令來設定快取相關的設定:

http {
    ...
    proxy_cache_path /path/to/cache levels=1:2 keys_zone=cache_zone:10m max_size=10g inactive=60m;
    ...

    server {
        ...
        location ~* .(css|js|png|jpg|jpeg|gif|ico)$ {
            expires 30d;
            add_header Pragma public;
            add_header Cache-Control "public";
            proxy_cache cache_zone;
            proxy_cache_key $scheme$proxy_host$uri$is_args$args;
            proxy_cache_valid 200 301 302 404 1d;
        }
        ...
    }
    ...
}
登入後複製
  1. proxy_cache_path:設定快取目錄的路徑。 levels=1:2表示在快取目錄下使用兩層子目錄來儲存快取文件,這可以提高文件的查找速度。 keys_zone為快取區域的名稱,10m表示分配10MB的記憶體用於快取索引。 max_size表示快取檔案的最大大小,inactive表示在指定時間沒有被存取時,快取檔案會被刪除。
  2. location:用於匹配需要被快取的靜態資源檔案。在此例中,使用正規表示式來匹配CSS、JavaScript、圖片等文件,並設定快取的過期時間為30天。
  3. add_header:新增HTTP回應頭訊息,設定Pragma為public和Cache-Control為public,以確保快取可以被公共快取伺服器和瀏覽器快取。

二、Nginx快取清理設定
當我們更新了網站的靜態資源檔案後,需要將快取中的舊版本檔案清除,以使訪客可以取得到最新的靜態資源。為了實現這一點,我們可以在Nginx的設定檔中加入以下程式碼:

http {
    ...
    proxy_cache_path /path/to/cache levels=1:2 keys_zone=cache_zone:10m max_size=10g inactive=60m;
    ...

    server {
        ...
        location /purge-cache {
            internal;
            proxy_cache_purge cache_zone "$scheme$proxy_host$uri$is_args$args";
        }
        ...
    }
    ...
}
登入後複製
  1. location:定義一個/purge-cache的URL,用於觸發快取清理操作。 internal表示這個URL只對內部存取有效。
  2. proxy_cache_purge:清除指定的URL對應的快取檔案。

三、程式碼範例
假設我們網站中的CSS檔案位於http://example.com/static/css/style.css,我們可以使用以下程式碼來清理快取中的該文件:

curl -X PURGE http://example.com/purge-cache/static/css/style.css
登入後複製

這個請求將會使nginx清除快取中該URL對應的快取文件,下次造訪該URL時將會重新產生快取。

結論:
透過設定Nginx的快取清理,我們可以優化網站靜態資源的更新。當我們更新了靜態資源時,只需要發送一個清理快取的請求,就可以讓訪客取得到最新的資源文件,提高網站的效能和使用者體驗。

參考資料:

  • Nginx官方文件:https://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_cache_purge
#

以上是Nginx快取清理配置,最佳化網站靜態資源更新的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1327
25
PHP教程
1273
29
C# 教程
1253
24
多方認證:iPhone 17標準版將支持高刷!史上頭一回! 多方認證:iPhone 17標準版將支持高刷!史上頭一回! Apr 13, 2025 pm 11:15 PM

苹果iPhone17或将迎来重大升级,以应对国内华为、小米等强劲竞争对手的冲击。据数码博主@数码闲聊站爆料,iPhone17标准版有望首次搭载高刷新率屏幕,显著提升用户体验。此举标志着苹果历经五年,终于将高刷新率技术下放至标准版机型。目前,iPhone16作为6000元价位段唯一一款配备60Hz屏幕的旗舰手机,显得有些落后。虽然iPhone17标准版将拥有高刷新率屏幕,但与Pro版相比仍存在差异,例如边框设计仍未达到Pro版的超窄边框效果。更值得关注的是,iPhone17Pro系列将采用全新、更

nginx在windows中怎麼配置 nginx在windows中怎麼配置 Apr 14, 2025 pm 12:57 PM

如何在 Windows 中配置 Nginx?安裝 Nginx 並創建虛擬主機配置。修改主配置文件並包含虛擬主機配置。啟動或重新加載 Nginx。測試配置並查看網站。選擇性啟用 SSL 並配置 SSL 證書。選擇性設置防火牆允許 80 和 443 端口流量。

怎麼查看nginx是否啟動 怎麼查看nginx是否啟動 Apr 14, 2025 pm 01:03 PM

確認 Nginx 是否啟動的方法:1. 使用命令行:systemctl status nginx(Linux/Unix)、netstat -ano | findstr 80(Windows);2. 檢查端口 80 是否開放;3. 查看系統日誌中 Nginx 啟動消息;4. 使用第三方工具,如 Nagios、Zabbix、Icinga。

nginx怎麼配置雲服務器域名 nginx怎麼配置雲服務器域名 Apr 14, 2025 pm 12:18 PM

在雲服務器上配置 Nginx 域名的方法:創建 A 記錄,指向雲服務器的公共 IP 地址。在 Nginx 配置文件中添加虛擬主機塊,指定偵聽端口、域名和網站根目錄。重啟 Nginx 以應用更改。訪問域名測試配置。其他注意事項:安裝 SSL 證書啟用 HTTPS、確保防火牆允許 80 端口流量、等待 DNS 解析生效。

nginx怎麼查版本 nginx怎麼查版本 Apr 14, 2025 am 11:57 AM

可以查詢 Nginx 版本的方法有:使用 nginx -v 命令;查看 nginx.conf 文件中的 version 指令;打開 Nginx 錯誤頁,查看頁面的標題。

nginx服務器掛了怎麼辦 nginx服務器掛了怎麼辦 Apr 14, 2025 am 11:42 AM

當 Nginx 服務器宕機時,可執行以下故障排除步驟:檢查 nginx 進程是否正在運行。查看錯誤日誌以獲取錯誤消息。檢查 nginx 配置語法正確性。確保 nginx 具有訪問文件所需的權限。檢查文件描述符打開限制。確認 nginx 正在偵聽正確的端口。添加防火牆規則以允許nginx流量。檢查反向代理設置,包括後端服務器可用性。如需進一步幫助,請聯繫技術支持。

nginx碰到ddos怎麼解決 nginx碰到ddos怎麼解決 Apr 14, 2025 pm 12:12 PM

可以通過識別攻擊類型、緩解攻擊、保護 Nginx 配置、監控和響應以及與服務提供商合作,來應對 Nginx 遭受 DDoS 攻擊。具體步驟包括啟用速率限制、使用 WAF 和 CDN,更新 Nginx,使用 TLS/SSL 加密、監控日誌、建立警報系統、制定應急計劃,以及聯繫託管服務提供商並向當局舉報。

nginx怎麼啟動 nginx怎麼啟動 Apr 14, 2025 pm 01:06 PM

問題:如何啟動 Nginx?答案:安裝 Nginx啟動 Nginx驗證 Nginx 是否已啟動探索其他啟動選項自動啟動 Nginx

See all articles