In der Webentwicklung ist dynamisches Caching eines der wichtigsten Mittel zur Verbesserung der Leistung und Reaktionsgeschwindigkeit von Webanwendungen. In der Docker -Containerumgebung kann die Verwendung von Nginx als Proxy -Server zur Implementierung dynamischer Caching die Skalierbarkeit und Flexibilität des Systems erheblich verbessern. In diesem Artikel wird vorgestellt, wie NGINX in Docker -Containern verwendet werden kann, um die dynamische Zwischendienste von Webdiensten zu implementieren, und die relevante Konfiguration durch bestimmte Codebeispiele im Detail erläutern.
Bevor Sie mit der Konfiguration beginnen, müssen Sie sicherstellen, dass die folgende Umgebung fertig ist:
Zunächst müssen Sie einen Docker -Container erstellen und einen Nginx -Proxy -Server darin ausführen. Führen Sie den folgenden Befehl aus, um den Nginx -Container zu erstellen und zu starten:
Docker Run -d --Name nginx -proxy -P 80:80 nginx
In diesem Befehl wird die neueste Version von Nginx heruntergeladen und ausgeführt und den Port 80 des Containers auf den Port 80 des Hosts zugeordnet, wodurch Sie über die IP -Adresse des Hosts leichter auf den NGINX -Proxy -Server zugreifen können.
Um zu überprüfen, ob der Container erstellt und erfolgreich ausgeführt wurde, können Sie den folgenden Befehl ausführen:
Docker PS
Wenn Sie sehen, dass der Status des Containers "hoch" ist, bedeutet dies, dass der Container erfolgreich gestartet wurde.
Als nächstes müssen wir den NGINX -Proxy -Server so konfigurieren, dass das dynamische Caching von Webdiensten implementiert wird. Geben Sie zunächst das Bash -Terminal des Nginx -Containers ein:
Docker Exec -it Nginx -Proxy Bash
Führen Sie dann den folgenden Befehl aus, um die Nginx -Konfigurationsdatei zu bearbeiten:
CD /etc/nginx/conf.d/
vi default.conf
Fügen Sie in der Datei Standard.conf die folgende Konfiguration hinzu:
Server { Hören Sie 80; server_name localhost; Standort / { proxy_pass http: // web-app; proxy_cache my_cache; proxy_cache_valid 200 1d; proxy_cache_use_stale Fehler Timeout Aktualisierung http_500 http_502 http_503 http_504; } }
In der obigen Konfiguration leitet die Proxy_Pass-Anweisung die Client-Anforderung an einen Upstream-Server mit dem Namen "Web-App" weiter. Gleichzeitig ermöglicht die Anweisung proxy_cache die Cache -Funktion des Proxy -Servers, und die Anweisung proxy_cache_valid legt die Cache -Gültigkeitsdauer auf 1 Tag fest. Die Anweisung proxy_cache_use_stale wird verwendet, um die Rückgabe abgelaufener Zwischenhals während der Cache -Updates zu ermöglichen.
Starten Sie nach dem Speichern und Verlassen des Editors den Nginx -Dienst neu, um die Konfiguration in Kraft zu setzen:
Service Nginx Neustart
Nachdem der NGINX -Proxy -Server konfiguriert wurde, müssen Sie die Webanwendung so konfigurieren, dass sie normal mit dem NGINX -Proxy -Server kommunizieren. Fügen Sie in der Konfigurationsdatei der Webanwendung Folgendes hinzu:
Upstream Web-App { Server<web-app-container-ip> ; }
In dieser Konfiguration müssen Sie
Docker Inspect -f '{{range .NetWorksettings.networks}} {{. ipaddress}} {{end}}'<web-app-container-id>
Speichern und beenden Sie die Konfigurationsdatei, nachdem Sie die IP -Adresse in der Konfiguration ersetzt haben.
Sobald Sie die Konfiguration beendet haben, können Sie die dynamische Caching -Funktion testen. Öffnen Sie den Browser und geben Sie "http: // localhost" ein, um auf die Webanwendung zuzugreifen. Zu diesem Zeitpunkt leitet der NGINX -Proxy -Server die Anforderung an die Webanwendung weiter und zwischengespeichert die zurückgegebenen Antwortdaten.
Nach dem Aktualisieren der Browserseite liest der Nginx-Proxy-Server Daten direkt aus dem Cache und kehrt zurück, ohne eine Anforderung an die Webanwendung zu initiieren, wodurch die Reaktionsgeschwindigkeit verbessert wird.
In diesem Artikel wird beschrieben, wie der NGINX -Proxy -Server in Docker verwendet wird, um die dynamische Zwischenspeicherung von Webdiensten zu implementieren. Durch die Konfiguration der Proxy_Cache -Anweisung von NGINX und Proxy_Cache_valid können Sie die Cache -Funktionalität von NGINX problemlos aktivieren und konfigurieren. Mit einer Demonstration des Beispielcodes lernen wir, wie Sie einen Nginx -Container in einer Docker -Umgebung erstellen und dort dynamische Caching -Funktionalität konfigurieren. Auf diese Weise kann die Leistung und Reaktionsfähigkeit der Webanwendung effektiv verbessert werden, wodurch die Benutzererfahrung verbessert wird.