Aktueller Standort: Startseite> Neueste Artikel> Verwenden von Docker Compose und Nginx, um die Bereitstellung von PHP-Anwendungen mit hoher Verlauflichkeitsbelastung zu erreichen

Verwenden von Docker Compose und Nginx, um die Bereitstellung von PHP-Anwendungen mit hoher Verlauflichkeitsbelastung zu erreichen

M66 2025-08-04

Hochverfügbarkeitsbereitstellung von PHP -Anwendungen über Docker Compose und Nginx

In der modernen Entwicklung der Webanwendungen ist eine hohe Verfügbarkeit eines der wichtigsten Anforderungen. Mit Docker Compose und Nginx können wir problemlos eine hohe Verfügbarkeitsbereitstellung von PHP -Anwendungen erreichen, um sicherzustellen, dass Anwendungen noch stabil und bei Ausfällen verfügbar sind.

Als führende Containerisierungsplattform kann Docker Anwendungen und ihre Abhängigkeiten in unabhängigen Containern zusammenfassen. Docker Compose vereinfacht den Definitions- und Managementprozess von Multi-Container-Anwendungen.

Nginx ist nicht nur ein Hochleistungs-Webserver, sondern auch ein weit verbreiteter Reverse-Proxy-Server. Es kann angeforderten Datenverkehr auf mehrere Backend -Server verteilen, den Lastausgleich realisieren und die Verfügbarkeit und Leistung des Gesamtsystems verbessern.

Definieren Sie den Docker Compose Service

Zunächst müssen Sie eine Docker-compose.yml -Datei erstellen, um mehrere Anwendungsinstanzen und Nginx-Container zu definieren. Die Beispielkonfiguration lautet wie folgt:

 Version: '3'
Dienstleistungen:
  App1:
    bauen:
      Kontext :.
      Dockerfile: Dockerfile
    Neustart: Immer
  App2:
    bauen:
      Kontext :.
      Dockerfile: Dockerfile
    Neustart: Immer
  nginx:
    Bild: Nginx
    Ports:
      - "80:80"
    Bände:
      - ./nginx.conf:/etc/nginx/nginx.conf
    Neustart: Immer

In dieser Konfiguration befinden sich App1 und App2 zwei PHP -Anwendungscontainer, die dieselben oder unterschiedlichen Versionen von Anwendungen ausführen können, um Redundanz zu erreichen. Der Nginx -Container ist für den Empfang von Verkehr und Lastausgleich verantwortlich.

Nginx -Lastausgleichskonfiguration

Erstellen und montieren Sie eine nginx.conf -Konfigurationsdatei in den Nginx -Container. Das Konfigurationsbeispiel lautet wie folgt:

 http {
  Upstream Backend {
    Server App1: 8080;
    Server App2: 8080;
  }

  Server {
    Hören Sie 80;

    Standort / {
      proxy_pass http: // Backend;
      proxy_set_header host $ host;
      proxy_set_header x-real-ip $ remote_addr;
    }
  }
}

Diese Konfiguration definiert einen vorgelagerten Backend , der zwei Anwendungsserveradressen enthält. Nachdem Nginx die Anforderung erhalten hat, zugewiesen sie diesen beiden PHP -Anwendungsbehälter den Verkehr, um einen Lastausgleich zu erreichen.

Erstellen Sie PHP -Anwendungscontainerbild

Schreiben Sie eine Dockerfile nach den tatsächlichen Bedürfnissen. Der Beispielinhalt lautet wie folgt:

 Aus Php: 7.4.15-FPM

WorkDir/var/www/html

Kopie. .

Führen Sie den CHMOD -R 755 -Speicher aus

CMD ["PHP-FPM"]

Diese DockerFile basiert auf dem offiziellen PHP-Image, legt das Arbeitsverzeichnis fest, kopieren Sie den Anwendungscode und konfiguriert Verzeichnisberechtigungen und startet schließlich den PHP-FPM-Dienst.

Starten Sie eine PHP -Anwendung mit hoher Verfügbarkeit

Starten Sie nach Abschluss der Konfiguration alle Container mit dem folgenden Befehl:

 Docker -Compose Up -d

Dieser Befehl startet mehrere definierte Container im Hintergrund, sodass PHP-Anwendungen über NGINX geladen werden können, um eine hohe Verfügbarkeit zu erreichen.

Zusammenfassen

Über Docker Compose und Nginx haben wir erfolgreich eine gut verfügbare Bereitstellungsumgebung für PHP -Anwendungen erstellt. Multicontainer-Architektur und Lastausgleichsmechanismus stellen sicher, dass Anwendungen weiterhin in einem einzigen Ausfallpunkt verfügbar sind und das Ausgleichsmaßstab.

Dieser Artikel enthält grundlegende Beispiele, bei denen Sie Konfigurationen nach tatsächlichen Bedürfnissen zur Implementierung einer komplexeren Produktionsarchitektur für die Produktion weiter anpassen können.