Heim > Artikel > Betrieb und Instandhaltung > Nginx-Cache-Bereinigungskonfiguration, um den Website-Inhalt auf dem neuesten Stand zu halten
Nginx-Cache-Bereinigungskonfiguration, um Website-Inhalte auf dem neuesten Stand zu halten
Beim Erstellen einer Website verwenden wir häufig Nginx als Reverse-Proxy-Server, um den Website-Zugriff zu beschleunigen und statische Dateien zwischenzuspeichern. Wenn wir jedoch Website-Inhalte aktualisieren, müssen wir den Cache von Nginx rechtzeitig leeren, damit Benutzer weiterhin auf die neuesten Inhalte zugreifen können. In diesem Artikel erfahren Sie, wie Sie die Nginx-Cache-Bereinigung konfigurieren, um den Website-Inhalt auf dem neuesten Stand zu halten.
1. Konfigurieren Sie den Cache-Pfad
Zuerst müssen wir den Cache-Pfad von Nginx konfigurieren. Öffnen Sie die Nginx-Konfigurationsdatei, normalerweise /etc/nginx/nginx.conf
oder /etc/nginx/conf.d/default.conf
, und suchen Sie nach http die folgende Konfiguration hinzu: <code>/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
rrreee
/var/cache/nginx
und legt die Cache-Größe auf 10 GB und die Cache-Ablaufzeit auf 60 fest Minuten. Muss entsprechend der tatsächlichen Situation angepasst werden. 2. Konfigurieren Sie die Cache-ReinigungsschnittstelleAls nächstes müssen wir eine Schnittstelle zum Bereinigen des Nginx-Cache konfigurieren. 🎜🎜Suchen Sie in der Nginx-Konfigurationsdatei die Stelle, an der der Cache geleert werden muss, z. B. eine POST-Anfrage: 🎜rrreee🎜In der obigen Konfiguration wird location /update
verwendet, um den URL-Pfad abzugleichen das aktualisiert werden muss, wie zum Beispiel /update
. Die Direktive proxy_cache_purge
wird zum Löschen des Caches verwendet, und der Parameter GET POST
bedeutet, dass der Cache gleichzeitig von GET- und POST-Anfragen geleert wird. Es kann entsprechend der tatsächlichen Situation angepasst werden. 🎜🎜3. Installieren Sie das Purge-Modul 🎜🎜Die Standardinstallation von Nginx beinhaltet nicht das proxy_cache_purge
-Modul, wir müssen es manuell installieren. 🎜🎜Verwenden Sie den folgenden Befehl, um das Modulverwaltungstool von Nginx zu installieren: 🎜rrreee🎜Verwenden Sie den folgenden Befehl, um die Erweiterungsquelle von Nginx hinzuzufügen: 🎜rrreee🎜Abschließend verwenden Sie den folgenden Befehl, um Nginxs nginx-module-cache-purge zu installieren Code> Modul:🎜rrreee🎜4. Starten Sie den Nginx-Dienst neu🎜🎜Nach Abschluss der obigen Konfiguration müssen Sie den Nginx-Dienst neu starten, damit die Konfiguration wirksam wird. Verwenden Sie den folgenden Befehl, um Nginx neu zu starten: 🎜rrreee🎜 5. So leeren Sie den Cache 🎜🎜 Jetzt können wir den Nginx-Cache bereinigen, indem wir auf die Clean-Cache-Schnittstelle zugreifen. Wenn wir beispielsweise den Cache im Pfad <code>/update
leeren möchten, können wir den folgenden Befehl verwenden: 🎜rrreee🎜Dadurch wird Nginx veranlasst, den Cache im Pfad /update Pfad. 🎜🎜6. Den Cache automatisch leeren🎜🎜Um sicherzustellen, dass der Website-Inhalt aktualisiert wird, können wir die Konsistenz zwischen dem Cache in Nginx und dem tatsächlichen Website-Inhalt automatisch aufrechterhalten, indem wir den Cache regelmäßig bereinigen. 🎜🎜Wir können Tools für geplante Aufgaben (wie Cron) verwenden, um regelmäßig Befehle zum Löschen des Caches auszuführen. Um beispielsweise festzulegen, dass der Cache jeden Tag um 4 Uhr morgens geleert wird, können Sie den folgenden Befehl verwenden, um die geplante Aufgabe zu bearbeiten: 🎜rrreee🎜 Fügen Sie dann die folgende Befehlszeile hinzu: 🎜rrreee🎜 Speichern und beenden Sie den Editor, damit Der Cache-Löschvorgang wird jeden Tag um 4 Uhr morgens ausgelöst und die Ausführungsergebnisse werden in der Datei <code>/tmp/nginx_cache_clear.log
gespeichert. 🎜🎜Zusammenfassung🎜🎜Durch die obige Konfiguration können wir den Nginx-Cache automatisch bereinigen und den Inhalt der Website auf dem neuesten Stand halten. Gleichzeitig können wir Cache-Pfade und Reinigungsmethoden je nach Bedarf flexibel anpassen, um sie an unterschiedliche Website-Anforderungen anzupassen. 🎜Das obige ist der detaillierte Inhalt vonNginx-Cache-Bereinigungskonfiguration, um den Website-Inhalt auf dem neuesten Stand zu halten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!