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; } ... } ... }
- proxy_cache_path:設定快取目錄的路徑。 levels=1:2表示在快取目錄下使用兩層子目錄來儲存快取文件,這可以提高文件的查找速度。 keys_zone為快取區域的名稱,10m表示分配10MB的記憶體用於快取索引。 max_size表示快取檔案的最大大小,inactive表示在指定時間沒有被存取時,快取檔案會被刪除。
- location:用於匹配需要被快取的靜態資源檔案。在此例中,使用正規表示式來匹配CSS、JavaScript、圖片等文件,並設定快取的過期時間為30天。
- 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"; } ... } ... }
- location:定義一個/purge-cache的URL,用於觸發快取清理操作。 internal表示這個URL只對內部存取有效。
- 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中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

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

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

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

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

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

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

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

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