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

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
怎麼看nginx是否啟動怎麼看nginx是否啟動Apr 14, 2025 am 11:54 AM

要查看 Nginx 是否已啟動,可使用以下步驟:通過 systemctl 命令檢查狀態:systemctl status nginx檢查配置並查看 Nginx 是否正在運行:nginx -t檢查 Nginx 是否監聽端口 80:netstat -plnt | grep nginx

nginx怎麼啟動php服務器nginx怎麼啟動php服務器Apr 14, 2025 am 11:51 AM

Nginx 通過 FastCGI 或 PHP-FPM 啟動 PHP 服務器,具體步驟包括:安裝 FastCGI 模塊並配置 Nginx 配置文件,指定 PHP-FPM 套接字文件的位置。安裝並配置 PHP-FPM,設置監聽套接字文件和啟動 PHP-FPM。在 Nginx 配置文件中添加代理 pass 配置,將 PHP 請求轉發給 PHP-FPM 服務器(通常是 127.0.0.1:9000)。啟動 Nginx,測試訪問 PHP 文件以驗證 PHP 服務器是否已啟動。

nginx怎麼查看運行狀態nginx怎麼查看運行狀態Apr 14, 2025 am 11:48 AM

查看 Nginx 運行狀態的方法有:使用 ps 命令查看進程狀態;查看 Nginx 配置文件 /etc/nginx/nginx.conf;使用 Nginx 狀態模塊啟用狀態端點;使用 Prometheus、Zabbix 或 Nagios 等監控工具。

nginx變量怎麼用nginx變量怎麼用Apr 14, 2025 am 11:45 AM

Nginx 變量是用來存儲信息的佔位符,可通過 $variable_name 使用。常用變量包括 $arg_variable_name(URL 參數)、$host(主機名)、$http_host(HTTP 主機頭)、$method(請求方法)、$remote_addr(客戶端 IP)、$request_uri(URI)、$server_name(服務器名稱)和 $time_local(服務器時間)。這些變量可以用於記錄訪問日誌、重定向請求和定制響應。

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

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

nginx服務怎麼停止nginx服務怎麼停止Apr 14, 2025 am 11:39 AM

停止 Nginx 服務可通過以下步驟完成:確認 Nginx 正在運行;使用 systemd:sudo systemctl stop nginx;對於較舊系統,使用 init.d:sudo service nginx stop;使用命令行:sudo /etc/init.d/nginx stop;驗證停止:檢查輸出顯示 "inactive (dead)" 或 "stopped"。

怎麼把nginx訪問地址設置成服務器ip怎麼把nginx訪問地址設置成服務器ipApr 14, 2025 am 11:36 AM

要在 Nginx 中將訪問地址設置為服務器 IP,請:配置服務器塊,設置監聽地址(如:listen 192.168.1.10:80)設置服務器名稱(如:server_name example.com www.example.com),或將其留空以訪問服務器 IP保存並重新加載 Nginx 以應用更改

nginx命令怎麼關閉nginx命令怎麼關閉Apr 14, 2025 am 11:33 AM

關閉 nginx 的命令是 nginx -s quit。該命令向 nginx 進程發送 QUIT 信號,導致 nginx 正常關閉。其他選項包括:1. -s stop:強制立即關閉 nginx。 2. -s reopen:導致 nginx 重新打開日誌文件。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境