Nginx代理程式快取更新配置,即時回應網站變更
摘要:本文將介紹如何使用Nginx代理快取更新配置,以實現在網站內容變更時能夠即時回應更新,提高網站的效能和使用者體驗。同時,我們將提供一些實用的程式碼範例,幫助讀者更好地理解和應用這項功能。
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m; proxy_cache_key "$request_method|$host|$request_uri"; proxy_cache_valid 200 301 302 10m; proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
其中,proxy_cache_path
指定了快取檔案的儲存路徑和大小限制;proxy_cache_key
定義了快取的鍵名,確保每次請求URL有所變更時能夠刷新快取;proxy_cache_valid
用於指定HTTP回應碼200、301、302的快取有效期;proxy_cache_use_stale
則是在來源伺服器出現錯誤時,允許使用過期的快取。
if ( $request_method = POST ) { add_header X-Nginx-Cache "BYPASS"; proxy_cache_bypass $http_cache_control; proxy_no_cache 1; }
上述設定會擷取POST請求,並在回應頭中新增X-Nginx-Cache
字段,用於標識該請求需要繞過快取。同時,proxy_cache_bypass
和proxy_no_cache
指令將確保這個請求不會被快取。
#!/bin/bash curl -X PURGE http://localhost/page1 curl -X PURGE http://localhost/page2 curl -X PURGE http://localhost/page3
注意到上述腳本中使用了curl
命令來向Nginx發送PURGE請求,以清除特定頁面的快取。我們可以根據實際情況,將需要刷新快取的頁面URL加入到腳本中。然後,使用定時任務工具(如cron)來定期執行這個腳本,從而實現快取的定時更新。
以上是Nginx代理快取更新配置,即時回應網站變化的詳細內容。更多資訊請關注PHP中文網其他相關文章!