Heim > Backend-Entwicklung > PHP-Tutorial > Erstellen Sie eine skalierbare PHP-Anwendungsarchitektur mit Docker Compose, Nginx und MariaDB

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

王林
Freigeben: 2023-10-12 11:50:02
Original
1293 Leute haben es durchsucht

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

Erstellen Sie eine skalierbare PHP-Anwendungsarchitektur mit Docker Compose, Nginx und MariaDB.

Einführung:
Mit der Entwicklung der Cloud-Computing- und Virtualisierungstechnologie ist die Verwendung von Containern zum Erstellen und Verwalten von Anwendungen heute zu einer Mainstream-Lösung geworden. Bei der herkömmlichen Anwendungsbereitstellung ist die Konfiguration und Verwaltung der Anwendungsumgebung oft mühsam und fehleranfällig. Durch den Einsatz der Containerisierungstechnologie können Anwendungen und die Umgebungen, von denen sie abhängen, verpackt werden, wodurch der Anwendungsbereitstellungs- und -verwaltungsprozess vereinfacht wird.

In diesem Artikel wird erläutert, wie Sie mit den drei Tools Docker Compose, Nginx und MariaDB eine skalierbare PHP-Anwendungsarchitektur erstellen, und es werden spezifische Codebeispiele bereitgestellt. Ich hoffe, dass die Leser durch die Einführung dieses Artikels verstehen können, wie diese Tools zum Aufbau einer stabilen und skalierbaren Anwendungsumgebung verwendet werden können.

1. Grundkonzepte von Docker Compose
Docker Compose ist ein Tool zum Definieren und Verwalten von Docker-Anwendungen mit mehreren Containern. Über eine separate Yaml-Datei können wir verschiedene Komponenten der Anwendung definieren, darunter Containerbilder, Umgebungsvariablen, Netzwerkkonfiguration usw.

Hier ist ein Beispiel einer einfachen Docker Compose-Datei:

version: '3'
services:
  web:
    image: nginx:latest
    ports:
      - "80:80"
    volumes:
      - ./app:/usr/share/nginx/html
    links:
      - php
  php:
    image: php:fpm
    volumes:
      - ./app:/var/www/html
  db:
    image: mariadb:latest
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=myapp
      - MYSQL_USER=myuser
      - MYSQL_PASSWORD=mypassword
Nach dem Login kopieren

Im obigen Beispiel haben wir drei Dienste definiert: Web, PHP und DB. Der Webdienst verwendet das neueste Nginx-Image und macht den Container-Port 80 verfügbar, indem er den externen Port 80 dem Port 80 des Containers zuordnet. Gleichzeitig haben wir auch das Verzeichnis ./app im Verzeichnis /usr/share/nginx/html des Containers gemountet, damit die Dateien auf dem Host und die Dateien im Container synchronisiert werden können. Der PHP-Dienst verwendet das offizielle PHP-FPM-Image und mountet das Verzeichnis ./app im Verzeichnis /var/www/html des Containers. Der Datenbankdienst verwendet das neueste MariaDB-Image und legt einige Umgebungsvariablen fest, um die Datenbank zu konfigurieren.

2. Integration von Nginx und PHP
In der Docker-basierten Anwendungsarchitektur wird Nginx normalerweise als Reverse-Proxy-Server verwendet, der Anforderungen für statische Dateien an den Nginx-Server weiterleitet und dynamische Anforderungen zur Verarbeitung an den PHP-FPM-Server weiterleitet. Das Folgende ist ein Nginx-Konfigurationsbeispiel:

server {
    listen 80;
    server_name example.com;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ .php$ {
        fastcgi_pass php:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}
Nach dem Login kopieren

Im obigen Beispiel definieren wir zunächst einen Serverblock, überwachen Port 80 und legen einen Servernamen fest. Als nächstes verwenden Sie die Standortanweisung, um die Regeln für die Anforderungsweiterleitung zu konfigurieren. Wenn der angeforderte URI mit .php endet, wird die Anfrage an Port 9000 des PHP-Dienstes weitergeleitet und der angeforderte Dateiname wird als SCRIPT_FILENAME-Parameter an den PHP-FPM-Server übergeben.

3. MariaDB-Konfiguration
Beim Aufbau einer skalierbaren Anwendungsarchitektur ist auch die Skalierbarkeit der Datenbank sehr wichtig. In der Docker-Architektur können wir mithilfe des MariaDB-Images schnell eine Datenbankinstanz bereitstellen und konfigurieren.

Im obigen Beispiel der Docker Compose-Datei haben wir das neueste MariaDB-Image verwendet und einige Umgebungsvariablen festgelegt, um die Datenbank zu konfigurieren. Über diese Umgebungsvariablen können wir das Root-Passwort, den Datenbanknamen, den Benutzernamen und das Passwort der Datenbank festlegen.

4. Verwenden Sie Docker Compose, um Anwendungen zu erstellen und zu verwalten.
Mit der obigen Konfigurationsdatei können wir Docker Compose-Befehle verwenden, um unsere Anwendungen zu erstellen und zu verwalten. Hier sind einige häufig verwendete Docker Compose-Befehle:

  • Anwendung starten:

    docker-compose up -d
    Nach dem Login kopieren
  • Anwendung schließen:

    docker-compose down
    Nach dem Login kopieren
  • Protokolle der Anwendung anzeigen:

    docker-compose logs
    Nach dem Login kopieren
  • Status der Anwendung anzeigen:

    docker-compose ps
    Nach dem Login kopieren

    Mit diesen Befehlen können wir ganz einfach Anwendungen erstellen, starten und verwalten.

    5. Zusammenfassung
    Dieser Artikel stellt die Verwendung von Docker Compose, Nginx und MariaDB zum Aufbau einer skalierbaren PHP-Anwendungsarchitektur vor und bietet spezifische Codebeispiele. Durch den Einsatz dieser Tools können wir den Anwendungsbereitstellungs- und -verwaltungsprozess vereinfachen und Anwendungsskalierbarkeit erreichen.

    Es ist zu beachten, dass die in diesem Artikel bereitgestellten Beispiele nur zu Demonstrationszwecken dienen und möglicherweise geringfügig von der tatsächlichen Produktionsumgebung abweichen. Während des eigentlichen Bereitstellungsprozesses müssen Anpassungen und Optimierungen basierend auf den tatsächlichen Bedingungen vorgenommen werden.

    Ich hoffe, dass die Leser durch die Einleitung dieses Artikels ein grundlegendes Verständnis für die Verwendung von Docker Compose, Nginx und MariaDB zum Aufbau einer skalierbaren PHP-Anwendungsarchitektur erlangen und diese Technologien in der Praxis anwenden können, um ihre eigenen Anwendungen zu erstellen.

    Das obige ist der detaillierte Inhalt vonErstellen Sie eine skalierbare PHP-Anwendungsarchitektur mit Docker Compose, Nginx und MariaDB. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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