Nginx快取清理配置,保持網站內容更新
在建立網站時,我們經常使用Nginx作為反向代理伺服器,用於加速網站存取和快取靜態檔案。但是,當我們更新了網站內容時,我們需要及時清理Nginx的緩存,以保持用戶訪問的是最新的內容。本文將介紹如何設定Nginx快取清理,以保持網站內容的更新。
一、設定快取路徑
首先,我們需要設定Nginx的快取路徑。開啟Nginx的設定文件,一般是/etc/nginx/nginx.conf
或/etc/nginx/conf.d/default.conf
,找到#http
段,新增以下配置:
http { ... proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off; server { ... } ... }
上述配置將快取檔案儲存在/var/cache/nginx
目錄下,並設定了快取大小為10GB,快取過期時間為60分鐘。需要根據實際情況進行調整。
二、設定快取清理介面
接下來,我們需要設定一個介面用來清理Nginx的快取。
在Nginx的設定檔中,找到需要清理快取的地方,例如一個POST請求:
http { ... server { ... location /update { proxy_pass http://backend; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; # 清理缓存 proxy_cache_purge my_cache GET POST; } ... } ... }
上述設定中,location /update
用於匹配需要更新的URL路徑,例如/update
。 proxy_cache_purge
指令用於清理緩存,參數GET POST
表示同時清理GET和POST請求的快取。可依實際情況進行調整。
三、安裝Purge模組
Nginx的預設安裝中並不包含proxy_cache_purge
模組,我們需要手動安裝。
使用以下指令安裝Nginx的模組管理工具:
yum install -y yum-utils
使用下列指令新增Nginx的擴充來源:
yum-config-manager --add-repo=https://nginx.org/packages/centos/7/x86_64/
最後,使用下列指令安裝Nginx的 nginx-module-cache-purge
模組:
yum install -y nginx-module-cache-purge
四、重啟Nginx服務
完成以上配置後,需要重新啟動Nginx服務使設定生效。使用以下命令重啟Nginx:
systemctl restart nginx
五、清理快取的方式
現在,我們可以透過存取清理快取的介面來實現清理Nginx的快取。例如,如果我們要清理/update
路徑的緩存,可以使用以下命令:
curl -X POST http://yourdomain.com/update
這樣就會觸發Nginx清理/update
路徑下的快取。
六、自動清理快取
為了確保網站內容的更新,我們可以透過定期清理快取的方式,自動保持Nginx中的快取與實際網站內容的一致性。
我們可以使用定時任務工具(如Cron)來定期執行清理快取的命令。例如,設定每天凌晨4點清理一次緩存,可以使用以下命令編輯定時任務:
crontab -e
然後添加以下一行命令:
0 4 * * * curl -X POST http://yourdomain.com/update >> /tmp/nginx_cache_clear.log 2>&1
儲存並退出編輯器,這樣每天凌晨4點就會觸發一次清理快取的操作,並將執行結果保存在/tmp/nginx_cache_clear.log
檔案中。
總結
透過以上配置,我們可以實現Nginx快取的自動清理,保持網站內容的更新。同時,我們也可以根據需要靈活調整快取路徑和清理方式,以適應不同的網站需求。
以上是Nginx快取清理配置,保持網站內容更新的詳細內容。更多資訊請關注PHP中文網其他相關文章!