Heim > Backend-Entwicklung > PHP-Tutorial > Best Practices für Docker Compose, Nginx und MariaDB: Prozessintegration für die Bereitstellung von PHP-Anwendungen

Best Practices für Docker Compose, Nginx und MariaDB: Prozessintegration für die Bereitstellung von PHP-Anwendungen

王林
Freigeben: 2023-10-12 14:40:02
Original
1086 Leute haben es durchsucht

Docker Compose、Nginx和MariaDB的最佳实践:部署PHP应用程序的流程整合

Best Practices für Docker Compose, Nginx und MariaDB: Prozessintegration für die Bereitstellung von PHP-Anwendungen

Einführung:
Mit der rasanten Entwicklung der Cloud-Computing- und Containerisierungstechnologie ist Docker zum Schlüssel für die moderne Entwicklung und Bereitstellung von Anwendungen geworden wichtiger Weg. Unter den vielen Docker-Tools wird Docker Compose als Tool zur Orchestrierung von Containerdiensten häufig bei der Bereitstellung und Verwaltung von Multi-Container-Anwendungen eingesetzt. Auch Nginx und MariaDB spielen als weit verbreitete Open-Source-Software in vielen Anwendungsszenarien eine wichtige Rolle.

In diesem Artikel erfahren Sie, wie Sie Nginx und MariaDB über Docker Compose integrieren, um PHP-Anwendungen bereitzustellen. Wir erklären es in den folgenden Schritten: Vorbereitung, Docker Compose-Datei erstellen, Nginx-Konfiguration schreiben, PHP-Anwendung schreiben, Container starten und auf die Anwendung zugreifen.

1. Vorbereitung
Bevor wir beginnen, müssen wir Docker und Docker Compose in der lokalen Umgebung installieren. Bitte stellen Sie sicher, dass auf dem System die neueste Version von Docker und Docker Compose korrekt installiert ist und ordnungsgemäß ausgeführt wird.

2. Erstellen Sie eine Docker Compose-Datei
Erstellen Sie eine Datei mit dem Namen docker-compose.yml im Stammverzeichnis des Projekts. Diese Datei definiert alle Containerdienste, die wir zur Integration der Anwendung benötigen.

version: '3'
services:
  web:
    build: .
    ports:
      - 80:80
    volumes:
      - ./app:/var/www/html
    depends_on:
      - db
  db:
    image: mariadb:latest
    environment:
      - MYSQL_ROOT_PASSWORD=secret
    volumes:
      - ./db:/var/lib/mysql
Nach dem Login kopieren

In der obigen Docker Compose-Datei sind zwei Dienste definiert: web und db. Serving Web erstellt den Code im aktuellen Verzeichnis und ordnet den lokalen Port 80 dem Port 80 des Containers zu. Die Dienstdatenbank verwendet die neueste Version des MariaDB-Images und die Umgebungsvariable MYSQL_ROOT_PASSWORD ist festgelegt, um das Root-Passwort der Datenbank zu definieren.

3. Nginx-Konfiguration schreiben
Erstellen Sie eine Datei mit dem Namen nginx.conf im Stammverzeichnis des Projekts und schreiben Sie den Nginx-Konfigurationsinhalt. Das Folgende ist ein einfaches Nginx-Konfigurationsbeispiel:

server {
    listen 80;
    server_name localhost;

    root /var/www/html/public;
    index index.php;

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

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

In der obigen Nginx-Konfigurationsdatei haben wir den Überwachungsport als 80 und den Servernamen als localhost definiert. Das Stammverzeichnis wird als /var/www/html/public bezeichnet und index.php ist als Standardindexdatei festgelegt. Gleichzeitig haben wir zwei Standortblöcke definiert, die zur Verarbeitung statischer Dateien und zur Verarbeitung von PHP-Dateianforderungen verwendet werden.

4. PHP-Anwendung schreiben
Schreiben Sie den Code für die PHP-Anwendung in das App-Verzeichnis. Hier ist ein einfaches Hello World-Programm als Beispiel. Erstellen Sie eine neue Datei mit dem Namen index.php und fügen Sie den folgenden Code hinzu:

<?php
echo "Hello World!";
Nach dem Login kopieren

5. Starten Sie den Container.
Geben Sie im Terminal das Stammverzeichnis des Projekts ein und führen Sie den folgenden Befehl aus um den Container zu starten:

docker-compose up -d
Nach dem Login kopieren

Dieser Befehl erstellt und startet den Container basierend auf der Definition in der Docker Compose-Datei. Warten Sie einen Moment. Nachdem der Container erfolgreich gestartet wurde, werden Protokollinformationen wie die folgenden angezeigt:

Creating network "docker_default" with the default driver
Creating docker_web_1 ... done
Creating docker_db_1  ... done
Nach dem Login kopieren

6. Greifen Sie auf die Anwendung zu.
Besuchen Sie http://localhost im Browser. Sie sehen die Ausgabe „Hello World!“. ", was bedeutet, dass die PHP-Anwendung erfolgreich bereitgestellt wurde.

7. Zusammenfassung
Durch die Einleitung dieses Artikels haben wir gelernt, wie man PHP-Anwendungen über Docker Compose, Nginx und MariaDB integriert und bereitstellt. Diese Integration erleichtert den Aufbau und die Verwaltung komplexer Containerdienste sowie die einfache Erweiterung und Anpassung von Anwendungskomponenten. Gleichzeitig bietet diese Bereitstellungsmethode auch eine gute Portabilität, sodass wir Anwendungen problemlos in verschiedenen Umgebungen migrieren und bereitstellen können.

Bitte beachten Sie, dass dieser Artikel nur ein einfaches Beispiel darstellt und bei der tatsächlichen Anwendungsbereitstellung möglicherweise weitere Konfigurationen und Anpassungen erforderlich sind. Ich hoffe, dass die Leser durch dieses Beispiel ein grundlegendes Verständnis für die Integration von Docker Compose, Nginx und MariaDB erlangen und weitere flexible Anpassungen in praktischen Anwendungen vornehmen können.

Das obige ist der detaillierte Inhalt vonBest Practices für Docker Compose, Nginx und MariaDB: Prozessintegration für die Bereitstellung von PHP-Anwendungen. 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