Inhaltsverzeichnis
Teil Eins: Umgebungseinrichtung
Heim Backend-Entwicklung PHP-Tutorial Erstellen Sie skalierbare PHP-Anwendungscluster mit Docker Compose, Nginx und MariaDB

Erstellen Sie skalierbare PHP-Anwendungscluster mit Docker Compose, Nginx und MariaDB

Oct 12, 2023 pm 01:39 PM
docker nginx mariadb

使用Docker Compose、Nginx和MariaDB构建可伸缩的PHP应用程序集群

Erstellen Sie skalierbare PHP-Anwendungscluster mit Docker Compose, Nginx und MariaDB

Zitat:
In der modernen Anwendungsentwicklung ist der Aufbau skalierbarer Anwendungscluster von entscheidender Bedeutung. Durch die Verwendung von Docker Compose, Nginx und MariaDB können wir ganz einfach einen skalierbaren PHP-Anwendungscluster erstellen, der unseren Anwendungen hohe Verfügbarkeit und Flexibilität bietet. In diesem Artikel untersuchen wir, wie Sie mit diesen Tools einen einfachen, aber leistungsstarken Cluster von PHP-Anwendungen erstellen und stellen konkrete Codebeispiele bereit.

Teil Eins: Umgebungseinrichtung

Bevor wir beginnen, müssen wir sicherstellen, dass Docker und Docker Compose installiert wurden. Öffnen Sie ein Terminal in Ihrer Entwicklungsumgebung und führen Sie den folgenden Befehl aus, um zu überprüfen, ob sie korrekt installiert sind:

$ docker --version
$ docker-compose --version
Nach dem Login kopieren

Wenn die entsprechenden Versionsinformationen zurückgegeben werden, wurden Docker und Docker Compose erfolgreich installiert. Als nächstes erstellen wir ein neues Projektverzeichnis und erstellen darin eine Datei docker-compose.yml.

$ mkdir my-php-cluster
$ cd my-php-cluster
$ touch docker-compose.yml
Nach dem Login kopieren

Teil Zwei: Schreiben der Docker Compose-Datei
Als nächstes definieren wir die Konfiguration unseres Anwendungsclusters in der Datei docker-compose.yml. Diese Konfiguration umfasst Dienstdefinitionen für PHP, Nginx und MariaDB. Hier ist ein Beispiel einer einfachen docker-compose.yml-Datei:

version: '3'

services:
  php:
    build:
      context: .
      dockerfile: Dockerfile.php
    restart: always
    ports:
      - "8000:80"
  nginx:
    build:
      context: .
      dockerfile: Dockerfile.nginx
    restart: always
    ports:
      - "80:80"
    depends_on:
      - php
  db:
    image: mariadb
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    ports:
      - "3306:3306"
    environment:
      MYSQL_ROOT_PASSWORD: secret
Nach dem Login kopieren

In diesem Beispiel haben wir drei Dienste definiert: PHP, Nginx und DB. Der PHP-Dienst erstellt ein Docker-Image mit PHP und ordnet den Port dem Port 8000 des Hosts zu. Der Nginx-Dienst erstellt ein Docker-Image mit Nginx und ordnet den Port Port 80 des Hosts zu. Der DB-Dienst verwendet das offiziell von MariaDB bereitgestellte Docker-Image und ordnet den Port dem 3306-Port des Hosts zu. Abschließend geben wir noch die Umgebungsvariable des DB-Dienstes an, die zum Festlegen des Root-Passworts verwendet wird.

Teil 3: Eine Docker-Datei schreiben
Damit unser Image erfolgreich erstellt werden kann, müssen wir auch eine Docker-Datei schreiben.

Zuerst erstellen wir eine Datei namens Dockerfile.php und kopieren den folgenden Inhalt in die Datei:

FROM php:7.4-fpm

WORKDIR /var/www/html

RUN apt-get update && apt-get install -y 
    libzip-dev 
    zip 
    unzip 
    && docker-php-ext-install zip

COPY . .

RUN composer install --no-dev
Nach dem Login kopieren

Dieses Dockerfile verwendet das offizielle PHP 7.4 FPM-Image als Basisimage und installiert einige Extras über den RUN-Befehl Abhängigkeiten. Anschließend haben wir das gesamte Anwendungsverzeichnis in das Verzeichnis /var/www/html des Containers kopiert und den Composer-Installationsbefehl ausgeführt, um die PHP-Abhängigkeiten zu installieren.

Als nächstes erstellen wir eine Datei mit dem Namen Dockerfile.nginx und kopieren den folgenden Inhalt in die Datei:

FROM nginx:latest

COPY nginx.conf /etc/nginx/nginx.conf
Nach dem Login kopieren

Dieses Dockerfile verwendet das neueste offizielle Nginx-Image als Basisimage und fügt die angepasste Datei nginx.conf hinzu. Kopieren Sie es nach /etc /nginx/ Verzeichnis des Containers.

Teil 4: Nginx-Konfigurationsdatei erstellen
In unserer Docker-Datei haben wir eine Konfigurationsdatei namens nginx.conf erwähnt. Jetzt erstellen wir eine Datei namens nginx.conf und kopieren den folgenden Inhalt in die Datei:

events {}

http {
  upstream php {
    server php:9000;
  }

  server {
    listen 80;

    location / {
      proxy_pass http://php;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
    }
  }
}
Nach dem Login kopieren

Diese nginx.conf-Konfigurationsdatei definiert einen Upstream-Server namens php, der Anfragen an den PHP-Dienst Port 9000 weiterleitet. Anschließend haben wir einen Serverblock definiert, der Port 80 überwacht und alle Anfragen an den PHP-Upstream-Server weiterleitet.

Teil 5: Ausführen des Anwendungsclusters
Jetzt haben wir die gesamte Konfiguration abgeschlossen und können unseren Anwendungscluster starten, indem wir den Befehl docker-compose up ausführen.

Gehen Sie im Terminal zu unserem Projektverzeichnis und führen Sie den folgenden Befehl aus:

$ docker-compose up -d
Nach dem Login kopieren

Der obige Befehl startet unseren Anwendungscluster im Hintergrund. Bitte warten Sie einen Moment, bis alle Dienste erfolgreich gestartet sind.

Teil Sechs: Testen des Anwendungsclusters
Sobald unser Anwendungscluster erfolgreich gestartet wurde, können wir ihn testen, indem wir über den Browser auf http://localhost zugreifen.

Geben Sie http://localhost in den Browser ein und drücken Sie die Eingabetaste. Wenn alles in Ordnung ist, sollten Sie sehen können, wie Ihre Anwendung ausgeführt wird.

Teil 7: Skalieren des Anwendungsclusters
Durch die Verwendung der Skalierungsfunktion von Docker Compose können wir unseren Anwendungscluster einfach skalieren.

Angenommen, wir möchten die Anzahl der Instanzen des PHP-Dienstes erhöhen, können wir den folgenden Befehl ausführen:

$ docker-compose up -d --scale php=3
Nach dem Login kopieren

Der obige Befehl startet 3 PHP-Instanzen, um eine horizontale Erweiterung unseres Anwendungsclusters zu erreichen.

Fazit:
Durch die Verwendung von Docker Compose, Nginx und MariaDB können wir ganz einfach einen skalierbaren PHP-Anwendungscluster aufbauen. In diesem Artikel stellen wir Ihnen ein einfaches Beispiel für den Einstieg sowie detaillierte Codebeispiele zur Verfügung. Ich hoffe, dieser Artikel war hilfreich und hat Sie zum Aufbau eines leistungsfähigeren Anwendungsclusters inspiriert.

Das obige ist der detaillierte Inhalt vonErstellen Sie skalierbare PHP-Anwendungscluster mit Docker Compose, Nginx und MariaDB. 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ß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 erstellen Sie einen Spiegel in Docker So erstellen Sie einen Spiegel in Docker Apr 15, 2025 am 11:27 AM

Schritte zum Erstellen eines Docker -Images: Schreiben Sie eine Dockerfile, die die Build -Anweisungen enthält. Erstellen Sie das Bild im Terminal mit dem Befehl Docker Build. Markieren Sie das Bild und weisen Sie Namen und Tags mit dem Befehl Docker Tag zu.

So aktualisieren Sie das Bild von Docker So aktualisieren Sie das Bild von Docker Apr 15, 2025 pm 12:03 PM

Die Schritte zur Aktualisierung eines Docker -Images sind wie folgt: Ziehen Sie das neueste Bild -Tag. Neues Bild Löschen Sie das alte Bild für ein bestimmtes Tag (optional) den Container neu (falls erforderlich) neu starten Sie neu (falls erforderlich).

So verwenden Sie Docker Desktop So verwenden Sie Docker Desktop Apr 15, 2025 am 11:45 AM

Wie benutze ich Docker Desktop? Docker Desktop ist ein Werkzeug zum Ausführen von Docker -Containern auf lokalen Maschinen. Zu den zu verwendenden Schritten gehören: 1.. Docker Desktop installieren; 2. Start Docker Desktop; 3.. Erstellen Sie das Docker -Bild (mit Dockerfile); 4. Build Docker Image (mit Docker Build); 5. Docker -Container ausführen (mit Docker Run).

So kopieren Sie Dateien in Docker nach außen So kopieren Sie Dateien in Docker nach außen Apr 15, 2025 pm 12:12 PM

Methoden zum Kopieren von Dateien in externen Hosts in Docker: Verwenden Sie den Befehl Docker CP: Docker CP [Optionen] & lt; Containerpfad & gt; & lt; Host -Pfad & gt;. Verwenden von Datenvolumina: Erstellen Sie ein Verzeichnis auf dem Host und verwenden Sie den Parameter -V, um das Verzeichnis in den Container zu montieren, um den Container zu erstellen, um eine bidirektionale Dateisynchronisation zu erreichen.

So überprüfen Sie den Namen des Docker -Containers So überprüfen Sie den Namen des Docker -Containers Apr 15, 2025 pm 12:21 PM

Sie können den Namen des Docker -Containers abfragen, indem Sie den Schritten folgen: Alle Container auflisten (Docker PS). Filtern Sie die Containerliste (unter Verwendung des GREP -Befehls). Ruft den Containernamen ab (befindet sich in der Spalte "Namen").

So lesen Sie die Docker -Version So lesen Sie die Docker -Version Apr 15, 2025 am 11:51 AM

Um die Docker -Version zu erhalten, können Sie die folgenden Schritte ausführen: Führen Sie den Befehl Docker "Docker --version" aus, um die Client- und Serverversionen anzuzeigen. Für Mac oder Windows können Sie auch Versionsinformationen über die Registerkarte Version der Docker -Desktop -GUI oder das Menü Docker Desktop anzeigen.

So speichern Sie das Docker -Bild So speichern Sie das Docker -Bild Apr 15, 2025 am 11:54 AM

Um das Bild in Docker zu speichern, können Sie den Befehl docker comit verwenden, um ein neues Bild zu erstellen, das den aktuellen Status des angegebenen Containers Syntax: Docker Commit [Optionen] Container -ID -Bildname enthält. Um das Bild im Repository zu speichern, können Sie den Befehl Docker Push, Syntax: Docker -Push -Bildname [: Tag] verwenden. Um gespeicherte Bilder zu importieren, können Sie den Befehl Docker Pull, Syntax: Docker Pull Bildname [: Tag] verwenden.

So verlassen Sie den Container mit Docker So verlassen Sie den Container mit Docker Apr 15, 2025 pm 12:15 PM

Vier Möglichkeiten zum Beenden von Docker Container: Verwenden Sie Strg D im Befehl Container Terminal ENGEBOT IM Container Terminal verwenden Sie Docker Stop & lt; container_name & gt; Befehl verwenden Sie Docker Kill & lt; container_name & gt; Befehl im Host -Terminal (Force Exit)

See all articles