Heim Betrieb und Instandhaltung Nginx Nginx-Reverse-Proxy-Cache-Aktualisierungskonfiguration und Aktualisierung statischer Website-Ressourcen in Echtzeit

Nginx-Reverse-Proxy-Cache-Aktualisierungskonfiguration und Aktualisierung statischer Website-Ressourcen in Echtzeit

Jul 04, 2023 pm 04:00 PM
nginx 反向代理 缓存刷新

Nginx-Reverse-Proxy-Cache-Aktualisierungskonfiguration, Echtzeitaktualisierung statischer Website-Ressourcen

Einführung:
In der Webentwicklung sind statische Ressourcen ein unverzichtbarer Bestandteil der Website. Statische Ressourcen, die häufig aktualisiert werden, können jedoch dazu führen, dass Benutzer beim Zugriff alte Versionen sehen oder langsam laden. Eine effektive Möglichkeit, dieses Problem zu lösen, besteht darin, die Reverse-Proxy-Caching-Funktion von Nginx zu verwenden und sie so zu konfigurieren, dass die statischen Ressourcen der Website in Echtzeit aktualisiert werden. In diesem Artikel wird erläutert, wie diese Funktion durch die Nginx-Konfiguration erreicht wird.

  1. Reverse-Proxy-Cache aktivieren:
    Zunächst müssen wir den Reverse-Proxy-Cache in der Nginx-Konfiguration aktivieren. Suchen Sie die Nginx-Konfigurationsdatei (normalerweise nginx.conf) und öffnen Sie sie. Suchen Sie dann den Abschnitt http und fügen Sie die folgende Konfiguration hinzu:

    http {
      proxy_cache_path /path/to/cache/directory levels=1:2 keys_zone=cache_zone:10m max_size=10g inactive=60m;
      proxy_temp_path /path/to/temporary/directory;
      proxy_cache_key "$scheme$request_method$host$request_uri";
      proxy_ignore_headers "Cache-Control" "Expires";
      proxy_cache_valid any 10m;
      proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
      
      server {
     ...
     location / {
       proxy_cache cache_zone;
       proxy_pass http://backend-server;
     }
     ...
      }
    }
    Nach dem Login kopieren

    Anweisungen:

  2. proxy_cache_path: Legen Sie den Reverse-Proxy-Cache-Pfad fest und verwandte Konfigurationen. levels ist die Verzeichnisebene, keys_zone ist der Name und die Größe des Cache-Bereichs, max_size legt die maximale Größe des Caches fest, inaktiv Cache-Timeout angeben. proxy_cache_path:设置反向代理缓存路径以及相关配置。levels是目录层级,keys_zone是缓存区域的名称与大小,max_size设置缓存的最大大小,inactive指定缓存超时时间。
  3. proxy_temp_path:设置临时目录路径。
  4. proxy_cache_key:用于生成缓存key的变量,$scheme表示请求协议,$request_method表示请求方法,$host表示请求的主机名,$request_uri表示请求的URI。
  5. proxy_ignore_headers:指定需要忽略的响应头。
  6. proxy_cache_valid:设置缓存的有效时间。
  7. proxy_cache_use_stale:定义在更新缓存时允许使用陈旧缓存的情况。
  8. 实时更新静态资源:
    若要实现实时更新网站的静态资源,我们需要在后台程序或脚本中添加额外的逻辑,以在每次更新静态资源后发出刷新缓存的请求。以下是一个简单的示例:

在后台程序或脚本中,当静态资源被更新后,发出刷新缓存的HTTP请求:

import requests

def refresh_cache():
  url = "http://your-nginx-server/purge-url"
  headers = {"Host": "your-hostname"}
  response = requests.get(url, headers=headers)
  
  if response.status_code == 200:
    print("Cache refreshed successfully!")
  else:
    print("Failed to refresh cache.")
Nach dem Login kopieren

Nginx的配置文件中,配置地址路由与缓存刷新:

location ~ /purge-url {
  internal;
  proxy_cache_purge cache_zone "$scheme$request_method$host$request_uri$is_args$args";
}
Nach dem Login kopieren

说明:

  • location:配置处理刷新缓存请求的路由。
  • internal:表示该路由只能被内部请求访问,外部请求无法访问。
  • proxy_cache_purge:配置要刷新的缓存区域及相关参数。

通过以上配置,当发出带有X-Purge-Cache: 1的GET请求到http://your-nginx-server/purge-url时,Nginx会根据请求的URI刷新对应的缓存。

  1. 验证:
    为了验证配置的正确性,可以使用浏览器、Postman或类似的工具来发出带有X-Purge-Cache: 1
  2. proxy_temp_path: Legen Sie den temporären Verzeichnispfad fest.

proxy_cache_key: Variable, die zum Generieren des Cache-Schlüssels verwendet wird, $scheme stellt das Anforderungsprotokoll dar, $request_method stellt die Anforderungsmethode dar, $host stellt den angeforderten Hostnamen dar und $request_uri stellt den angeforderten URI dar.

proxy_ignore_headers: Geben Sie Antwortheader an, die ignoriert werden müssen. 🎜🎜proxy_cache_valid: Legen Sie die Cache-Gültigkeitszeit fest. 🎜🎜proxy_cache_use_stale: Definiert die Umstände, unter denen veralteter Cache beim Aktualisieren des Caches verwendet werden darf. 🎜🎜Statische Ressourcen in Echtzeit aktualisieren: 🎜Um eine Aktualisierung der statischen Ressourcen der Website in Echtzeit zu erreichen, müssen wir dem Hintergrundprogramm oder Skript zusätzliche Logik hinzufügen, um nach jeder Aktualisierung der statischen Ressourcen eine Anforderung zum Aktualisieren des Caches auszugeben Ressourcen. Das Folgende ist ein einfaches Beispiel: 🎜🎜🎜Im Hintergrundprogramm oder -skript geben Sie beim Aktualisieren der statischen Ressourcen eine HTTP-Anfrage aus, um den Cache zu aktualisieren: 🎜rrreee🎜Konfigurieren Sie in der Nginx-Konfigurationsdatei das Adressrouting und die Cache-Aktualisierung: 🎜 rrreee🎜 Beschreibung: 🎜
    🎜location: Konfigurieren Sie die Route für die Verarbeitung von Aktualisierungs-Cache-Anfragen. 🎜🎜internal: Gibt an, dass auf die Route nur durch interne Anfragen und nicht durch externe Anfragen zugegriffen werden kann. 🎜🎜proxy_cache_purge: Konfigurieren Sie den zu aktualisierenden Cache-Bereich und zugehörige Parameter. 🎜
🎜Mit der obigen Konfiguration, wenn eine GET-Anfrage mit X-Purge-Cache ausgegeben wird: 1 an http://your-nginx-server/purge-url code>, Nginx aktualisiert den entsprechenden Cache entsprechend dem angeforderten URI. 🎜<ol start="3">🎜Überprüfung: 🎜Um die Richtigkeit der Konfiguration zu überprüfen, können Sie einen Browser, Postman oder ein ähnliches Tool verwenden, um ein GET mit <code>X-Purge-Cache: 1 auszugeben fragen. Wenn der Cache erfolgreich aktualisiert wurde, wird beim erneuten Zugriff auf die entsprechende statische Ressource die neueste Version vom Backend-Server abgerufen und der Cache aktualisiert, um sicherzustellen, dass der Benutzer die neueste statische Ressource sieht. 🎜🎜🎜Fazit: 🎜Durch die Reverse-Proxy-Cache-Konfiguration von Nginx und die Methode zum Aktualisieren statischer Ressourcen in Echtzeit können wir die Leistung und Zugriffsgeschwindigkeit der Website verbessern und sicherstellen, dass Benutzer die neuesten statischen Ressourcen in Echtzeit erhalten können. Dies ist besonders wichtig für Websites, die häufig aktualisiert werden. Es kann auch die Belastung des Back-End-Servers verringern und die Stabilität und Zuverlässigkeit der Website verbessern. Ich hoffe, die Einführung in diesem Artikel wird Ihnen hilfreich sein! 🎜

Das obige ist der detaillierte Inhalt vonNginx-Reverse-Proxy-Cache-Aktualisierungskonfiguration und Aktualisierung statischer Website-Ressourcen in Echtzeit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So erlauben Sie den externen Netzwerkzugriff auf den Tomcat-Server So erlauben Sie den externen Netzwerkzugriff auf den Tomcat-Server Apr 21, 2024 am 07:22 AM

Um dem Tomcat-Server den Zugriff auf das externe Netzwerk zu ermöglichen, müssen Sie Folgendes tun: Ändern Sie die Tomcat-Konfigurationsdatei, um externe Verbindungen zuzulassen. Fügen Sie eine Firewallregel hinzu, um den Zugriff auf den Tomcat-Server-Port zu ermöglichen. Erstellen Sie einen DNS-Eintrag, der den Domänennamen auf die öffentliche IP des Tomcat-Servers verweist. Optional: Verwenden Sie einen Reverse-Proxy, um Sicherheit und Leistung zu verbessern. Optional: Richten Sie HTTPS für mehr Sicherheit ein.

Was sind die Start- und Stoppbefehle von Nginx? Was sind die Start- und Stoppbefehle von Nginx? Apr 02, 2024 pm 08:45 PM

Die Start- und Stoppbefehle von Nginx lauten nginx bzw. nginx -s quit. Der Startbefehl startet den Server direkt, während der Stoppbefehl den Server ordnungsgemäß herunterfährt, sodass alle aktuellen Anforderungen verarbeitet werden können. Weitere verfügbare Stoppsignale sind Stopp und Nachladen.

So führen Sie thinkphp aus So führen Sie thinkphp aus Apr 09, 2024 pm 05:39 PM

Schritte zum lokalen Ausführen von ThinkPHP Framework: Laden Sie ThinkPHP Framework herunter und entpacken Sie es in ein lokales Verzeichnis. Erstellen Sie einen virtuellen Host (optional), der auf das ThinkPHP-Stammverzeichnis verweist. Konfigurieren Sie Datenbankverbindungsparameter. Starten Sie den Webserver. Initialisieren Sie die ThinkPHP-Anwendung. Greifen Sie auf die URL der ThinkPHP-Anwendung zu und führen Sie sie aus.

Willkommen bei Nginx! Wie kann ich es lösen? Willkommen bei Nginx! Wie kann ich es lösen? Apr 17, 2024 am 05:12 AM

Um den Fehler „Willkommen bei Nginx!“ zu beheben, müssen Sie die Konfiguration des virtuellen Hosts überprüfen, den virtuellen Host aktivieren, Nginx neu laden. Wenn die Konfigurationsdatei des virtuellen Hosts nicht gefunden werden kann, erstellen Sie eine Standardseite und laden Sie Nginx neu. Anschließend wird die Fehlermeldung angezeigt verschwindet und die Website wird normal angezeigt.

So registrieren Sie phpmyadmin So registrieren Sie phpmyadmin Apr 07, 2024 pm 02:45 PM

Um sich für phpMyAdmin zu registrieren, müssen Sie zunächst einen MySQL-Benutzer erstellen und ihm Berechtigungen erteilen, dann phpMyAdmin herunterladen, installieren und konfigurieren und sich schließlich bei phpMyAdmin anmelden, um die Datenbank zu verwalten.

So stellen Sie das NodeJS-Projekt auf dem Server bereit So stellen Sie das NodeJS-Projekt auf dem Server bereit Apr 21, 2024 am 04:40 AM

Serverbereitstellungsschritte für ein Node.js-Projekt: Bereiten Sie die Bereitstellungsumgebung vor: Erhalten Sie Serverzugriff, installieren Sie Node.js, richten Sie ein Git-Repository ein. Erstellen Sie die Anwendung: Verwenden Sie npm run build, um bereitstellbaren Code und Abhängigkeiten zu generieren. Code auf den Server hochladen: über Git oder File Transfer Protocol. Abhängigkeiten installieren: Stellen Sie eine SSH-Verbindung zum Server her und installieren Sie Anwendungsabhängigkeiten mit npm install. Starten Sie die Anwendung: Verwenden Sie einen Befehl wie node index.js, um die Anwendung zu starten, oder verwenden Sie einen Prozessmanager wie pm2. Konfigurieren Sie einen Reverse-Proxy (optional): Verwenden Sie einen Reverse-Proxy wie Nginx oder Apache, um den Datenverkehr an Ihre Anwendung weiterzuleiten

So lösen Sie das Nginx-Problem beim Zugriff auf die Website So lösen Sie das Nginx-Problem beim Zugriff auf die Website Apr 02, 2024 pm 08:39 PM

Nginx erscheint beim Zugriff auf die Website. Die Gründe können sein: Serverwartung, ausgelasteter Server, Browser-Cache, DNS-Probleme, Firewall-Blockierung, Website-Fehlkonfiguration, Netzwerkverbindungsprobleme oder die Website ist ausgefallen. Probieren Sie die folgenden Lösungen aus: Warten Sie, bis die Wartungsarbeiten beendet sind, besuchen Sie die Website außerhalb der Hauptverkehrszeiten, leeren Sie Ihren Browser-Cache, leeren Sie Ihren DNS-Cache, deaktivieren Sie Firewall- oder Antivirensoftware, wenden Sie sich an den Site-Administrator, überprüfen Sie Ihre Netzwerkverbindung oder verwenden Sie eine Suchmaschine oder Webarchiv, um eine weitere Kopie der Website zu finden. Wenn das Problem weiterhin besteht, wenden Sie sich bitte an den Site-Administrator.

So kommunizieren Sie zwischen Docker-Containern So kommunizieren Sie zwischen Docker-Containern Apr 07, 2024 pm 06:24 PM

In der Docker-Umgebung gibt es fünf Methoden für die Containerkommunikation: freigegebenes Netzwerk, Docker Compose, Netzwerk-Proxy, freigegebenes Volume und Nachrichtenwarteschlange. Wählen Sie abhängig von Ihren Isolations- und Sicherheitsanforderungen die am besten geeignete Kommunikationsmethode, z. B. die Nutzung von Docker Compose zur Vereinfachung von Verbindungen oder die Verwendung eines Netzwerk-Proxys zur Erhöhung der Isolation.

See all articles