Heim > Backend-Entwicklung > PHP-Tutorial > Hochverfügbare Bereitstellung von PHP-Anwendungen mit Docker Compose und Nginx

Hochverfügbare Bereitstellung von PHP-Anwendungen mit Docker Compose und Nginx

WBOY
Freigeben: 2023-10-12 12:18:02
Original
810 Leute haben es durchsucht

通过Docker Compose和Nginx实现PHP应用程序的高可用部署

Hochverfügbare Bereitstellung von PHP-Anwendungen durch Docker Compose und Nginx

In der modernen Webanwendungsentwicklung ist Hochverfügbarkeit ein sehr wichtiger Faktor. Durch die Verwendung von Docker Compose und Nginx können wir eine hochverfügbare Bereitstellung von PHP-Anwendungen erreichen und sicherstellen, dass die Anwendung verfügbar bleibt, wenn Fehler auftreten.

Docker ist eine beliebte Containerisierungsplattform, die eine Anwendung und ihre Abhängigkeiten in einen eigenständigen Container packt. Docker Compose bietet eine einfache Möglichkeit, mehrere Containeranwendungen zu definieren und auszuführen.

Nginx ist ein Hochleistungs-Webserver und ein Reverse-Proxy-Server. Es kann eingehenden Datenverkehr zum Lastausgleich auf mehrere Backend-Server verteilen.

Hier ist ein Beispiel für die Implementierung einer hochverfügbaren Bereitstellung einer PHP-Anwendung mit Docker Compose und Nginx:

Zuerst müssen wir eine docker-compose.yml-Datei erstellen, um unsere Anwendung und den Nginx-Container zu definieren. In dieser Datei können wir mehrere Dienste definieren, wobei jeder Dienst einem Container entspricht.

version: '3'
services:
  app1:
    build:
      context: .
      dockerfile: Dockerfile
    restart: always
  app2:
    build:
      context: .
      dockerfile: Dockerfile
    restart: always
  nginx:
    image: nginx
    ports:
      - "80:80"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
    restart: always
Nach dem Login kopieren

In diesem Beispiel haben wir gleichzeitig zwei Anwendungscontainer (app1 und app2) und einen Nginx-Container (nginx) erstellt. app1 und app2 können dieselbe Anwendung oder verschiedene Anwendungen sein, um Redundanz und Hochverfügbarkeit zu gewährleisten.

Als nächstes müssen wir eine nginx.conf-Konfigurationsdatei erstellen und sie im Nginx-Container bereitstellen. Diese Konfigurationsdatei verwendet Nginx als Reverse-Proxy-Server, um den eingehenden Datenverkehr zwischen den beiden Anwendungscontainern zu verteilen.

http {
  upstream backend {
    server app1:8080;
    server app2:8080;
  }

  server {
    listen 80;

    location / {
      proxy_pass http://backend;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
    }
  }
}
Nach dem Login kopieren

In diesem Beispiel konfigurieren wir die Adressen und Ports von zwei Anwendungscontainern als Server im Upstream-Block von Nginx. Dann erfolgt im Hauptserverblock der Proxy-Verkehr zum Backend.

Schließlich müssen wir eine Docker-Datei schreiben, um unseren Anwendungscontainer zu erstellen. Diese Docker-Datei kann an Ihre spezifische Anwendung angepasst werden.

FROM php:7.4.15-fpm

WORKDIR /var/www/html

COPY . .

RUN chmod -R 755 storage

CMD ["php-fpm"]
Nach dem Login kopieren

In diesem Beispiel haben wir das offizielle PHP-Image verwendet und das Arbeitsverzeichnis auf /var/www/html festgelegt. Anschließend kopieren wir den Code und die Dateien der Anwendung in den Container und legen die entsprechenden Berechtigungen fest. Abschließend starten wir den PHP-FPM-Server mit dem Befehl php-fpm.

Nach Abschluss der oben genannten Schritte können wir den folgenden Befehl verwenden, um unsere hochverfügbare PHP-Anwendung zu starten:

docker-compose up -d
Nach dem Login kopieren

Dieser Befehl startet alle Container und stellt sie in den Hintergrund.

Durch die oben genannten Schritte haben wir die hochverfügbare Bereitstellung von PHP-Anwendungen mithilfe von Docker Compose und Nginx erfolgreich implementiert. Jetzt wird unsere Anwendung in mehreren Containern ausgeführt und der Lastausgleich erfolgt über Nginx.

Das Obige ist nur ein einfaches Beispiel, Sie können es an Ihre spezifischen Bedürfnisse anpassen. Durch die Verwendung von Docker Compose und Nginx können Sie problemlos eine hochverfügbare Bereitstellung von PHP-Anwendungen erreichen und sicherstellen, dass Ihre Anwendung verfügbar bleibt, wenn Fehler auftreten.

Das obige ist der detaillierte Inhalt vonHochverfügbare Bereitstellung von PHP-Anwendungen mit Docker Compose und Nginx. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage