Heim  >  Artikel  >  Backend-Entwicklung  >  Plattformübergreifende Bereitstellung von PHP-Anwendungen mit Docker Compose, Nginx und MariaDB

Plattformübergreifende Bereitstellung von PHP-Anwendungen mit Docker Compose, Nginx und MariaDB

WBOY
WBOYOriginal
2023-10-12 15:21:16977Durchsuche

通过Docker Compose、Nginx和MariaDB实现PHP应用程序的跨平台部署

Plattformübergreifende Bereitstellung von PHP-Anwendungen über Docker Compose, Nginx und MariaDB erfordert spezifische Codebeispiele

Mit der Entwicklung von Cloud Computing und Containerisierungstechnologie ist die plattformübergreifende Bereitstellung zu einem heißen Thema geworden. In diesem Artikel stellen wir vor, wie Sie mit Docker Compose, Nginx und MariaDB eine plattformübergreifende Bereitstellung von PHP-Anwendungen erreichen, und geben spezifische Codebeispiele.

Docker Compose ist ein Tool zum Definieren und Ausführen von Docker-Anwendungen mit mehreren Containern. Es verwendet einfache YAML-Dateien, um die Dienst-, Netzwerk- und Speicheraspekte der Anwendung zu konfigurieren. Nginx ist ein Hochleistungs-Webserver und Reverse-Proxy-Server, der zur Verteilung des Datenverkehrs an mehrere containerisierte PHP-Anwendungen verwendet werden kann. MariaDB ist ein relationales Open-Source-Datenbankverwaltungssystem, das zum Speichern von Anwendungsdaten verwendet werden kann.

Zuerst müssen wir eine Docker Compose-Konfigurationsdatei schreiben, um die Dienste unserer PHP-Anwendung zu definieren. Hier ist ein einfaches Beispiel:

version: '3'

services:
  web:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - 80:80
    depends_on:
      - db

  db:
    image: mariadb
    environment:
      - MYSQL_ROOT_PASSWORD=123456
    volumes:
      - db_data:/var/lib/mysql

volumes:
  db_data:

In der Konfigurationsdatei oben haben wir zwei Dienste definiert: web und db. Der Webdienst ist unsere PHP-Anwendung und verwendet eine Datei namens Dockerfile, um das Image zu erstellen. Wir ordnen den Port 80 des Containers dem Port 80 des Hosts zu, damit von außen auf unsere Anwendung zugegriffen werden kann. Der DB-Dienst verwendet das offizielle Image von MariaDB und legt das Root-Passwort und das Datenvolumen fest.

Als nächstes müssen wir eine Docker-Datei schreiben, um ein Image unserer PHP-Anwendung zu erstellen. Hier ist ein einfaches Beispiel:

FROM php:7.4-fpm

WORKDIR /app

COPY . /app

RUN apt-get update 
    && apt-get install -y nginx 
    && docker-php-ext-install pdo_mysql

CMD service nginx start && php-fpm

EXPOSE 80

In der Docker-Datei oben erstellen wir unser Image basierend auf dem offiziellen php:7.4-fpm-Image. Wir legen das Arbeitsverzeichnis auf /app fest und kopieren alle Dateien im aktuellen Verzeichnis in das /app-Verzeichnis des Containers. Als nächstes installierten wir die Erweiterung nginx und pdo_mysql mit dem Befehl apt-get. Schließlich legen wir den Befehl beim Starten des Containers fest, einschließlich des Startens von Nginx und PHP-FPM sowie des Öffnens von Port 80.

Nach Abschluss der obigen Konfiguration können wir den folgenden Befehl verwenden, um unsere PHP-Anwendung zu starten:

docker-compose up -d

Dieser Befehl erstellt und startet den Container unserer PHP-Anwendung basierend auf der Docker Compose-Konfigurationsdatei. Der Parameter -d gibt an, dass der Container im Hintergrund ausgeführt wird.

Sobald der Container erfolgreich gestartet wurde, können wir unsere PHP-Anwendung anzeigen, indem wir über den Browser auf http://localhost zugreifen. Nginx verteilt den Datenverkehr an unseren PHP-Anwendungscontainer und die Anwendung stellt dann eine Verbindung zur MariaDB-Datenbank her, um die Daten abzurufen und zu speichern.

Zusammenfassend lässt sich sagen, dass die plattformübergreifende Bereitstellung von PHP-Anwendungen mit Docker Compose, Nginx und MariaDB problemlos möglich ist. Die Datei docker-compose.yml kann die Dienste der Anwendung definieren und die Docker-Datei kann das Image der Anwendung erstellen. Verwenden Sie den Docker Compose-Befehl, um die Container Ihrer Anwendung einfach zu starten und zu verwalten. Diese plattformübergreifende Bereitstellungslösung ist nicht nur einfach und effizient, sondern verfügt auch über eine gute Skalierbarkeit und Wartbarkeit.

Das Obige sind spezifische Codebeispiele für die Verwendung von Docker Compose, Nginx und MariaDB zur Implementierung der plattformübergreifenden Bereitstellung von PHP-Anwendungen. Hoffe das hilft!

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

Stellungnahme:
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