


Die perfekte Kombination aus Docker Compose, Nginx und MariaDB: Best Practices für die Bereitstellung von PHP-Anwendungen
Die perfekte Kombination aus Docker Compose, Nginx und MariaDB: Best Practices für die Bereitstellung von PHP-Anwendungen
Einführung:
In der modernen Webanwendungsentwicklung ist der Einsatz von Containerisierungstechnologie zu einem Trend geworden. Die Containerisierungstechnologie kann eine Anwendung und ihre Abhängigkeiten in einen einzigen Container packen, sodass die Anwendung in jeder Umgebung ausgeführt werden kann, die die Containerisierungstechnologie unterstützt. Docker ist derzeit die beliebteste Containerisierungstechnologie, die die Bereitstellung, Verwaltung und Erweiterung von Anwendungen vereinfachen kann.
Für mit PHP entwickelte Webanwendungen können wir Docker Compose verwenden, um mehrere Container zu verwalten, einschließlich Nginx, PHP, Datenbank usw. In diesem Artikel wird erläutert, wie Sie Docker Compose, Nginx und MariaDB zum Bereitstellen und Verwalten einer PHP-Anwendung verwenden, und es werden spezifische Codebeispiele bereitgestellt.
-
Docker und Docker Compose installieren
Zuerst müssen wir Docker und Docker Compose auf dem Host-Computer installieren. Sie können die offizielle Docker-Website (https://www.docker.com/) zum Herunterladen und Installieren besuchen. Sobald die Installation abgeschlossen ist, können wir bestätigen, dass Docker korrekt installiert ist, indem wir den folgenden Befehl ausführen:docker --version docker-compose --version
Nach dem Login kopieren Erstellen Sie eine Docker Compose-Datei.
Erstellen Sie eine Datei namens docker-compose.yml im Stammverzeichnis des Projekts, um die zu definieren Anwendungsdienste und entsprechende Konfigurationen. Hier ist ein Beispiel für eine einfache docker-compose.yml-Datei:version: '3' services: web: build: context: . dockerfile: Dockerfile ports: - 80:80 volumes: - ./src:/var/www/html depends_on: - db db: image: mariadb environment: MYSQL_ROOT_PASSWORD: 123456 MYSQL_DATABASE: mydb MYSQL_USER: user MYSQL_PASSWORD: password volumes: - db-data:/var/lib/mysql volumes: db-data:
Nach dem Login kopierenDie obige docker-compose.yml-Datei definiert zwei Dienste, einen ist ein Webdienst zum Ausführen von Nginx und PHP und der andere ist ein Datenbankdienst zum Ausführen von MariaDB . Der Webdienst stellt Port 80 dem externen Host zur Verfügung und ordnet den Ordner src im Projektverzeichnis dem Verzeichnis /var/www/html im Container zu. Der DB-Dienst legt die Umgebungsvariablen und Datenvolumes von MariaDB für die dauerhafte Speicherung von Datenbankdaten fest.
Dockerfile erstellen
Um das für den Webdienst erforderliche benutzerdefinierte Image zu erstellen, müssen wir eine Datei mit dem Namen Dockerfile im Projektverzeichnis erstellen. Hier ist ein Beispiel für eine einfache Docker-Datei:FROM php:7.4-fpm RUN docker-php-ext-install pdo_mysql WORKDIR /var/www/html
Nach dem Login kopierenDie obige Docker-Datei basiert auf dem offiziellen php:7.4-fpm-Image, hat die pdo_mysql-Erweiterung installiert und legt das Arbeitsverzeichnis auf /var/www/html fest.
Container starten
Führen Sie den folgenden Befehl im Stammverzeichnis des Projekts aus, um den Container zu starten:docker-compose up -d
Nach dem Login kopierenDurch Ausführen des obigen Befehls startet Docker die Web- und Datenbankdienste entsprechend der Konfiguration im Docker-Compose .yml-Datei. Der Parameter -d gibt an, dass der Container im Hintergrundmodus ausgeführt wird.
Nginx konfigurieren
Damit Nginx Anfragen korrekt an die PHP-Anwendung im Webdienst weiterleiten kann, müssen wir der Nginx-Konfiguration die folgenden Konfigurationselemente hinzufügen:server { listen 80; server_name localhost; root /var/www/html; index index.php index.html; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ .php$ { fastcgi_pass web:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Nach dem Login kopierenDie obige Konfigurationsdatei leitet die Anfrage an das Web weiter service Führen Sie den PHP-FPM-Prozess aus und übergeben Sie PHP-bezogene Umgebungsvariablen an PHP-FPM.
PHP-Anwendung schreiben
Schreiben Sie PHP-Anwendungscode in den Ordner src im Projektverzeichnis. Hier nehmen wir ein einfaches Hello World-Programm als Beispiel:<?php echo "Hello World!";
Nach dem Login kopieren- Zugriff auf die Anwendung
Sie können die laufende PHP-Anwendung im Browser anzeigen, indem Sie auf http://localhost zugreifen.
Zusammenfassung:
Durch die Verwendung einer Kombination aus Docker Compose, Nginx und MariaDB können wir PHP-Anwendungen einfach bereitstellen und verwalten. Docker Compose bietet eine einfache und leistungsstarke Möglichkeit, mehrere Container zu definieren und auszuführen, Nginx kann als Webserver eine große Anzahl gleichzeitiger Anforderungen verarbeiten und MariaDB bietet einen stabilen und zuverlässigen Datenbankdienst. Wir hoffen, dass die Leser durch die Einführung und Beispiele in diesem Artikel diese Technologien besser verstehen, anwenden und in tatsächlichen Projekten davon profitieren können.
Das obige ist der detaillierte Inhalt vonDie perfekte Kombination aus Docker Compose, Nginx und MariaDB: Best Practices für die Bereitstellung von PHP-Anwendungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



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.

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.

Zu den Methoden zum Anzeigen von Docker -Protokollen gehören: Verwenden des Befehls docker Protokolle, z. cat /var/log/container_name.log Verwenden Sie den Befehl docker-compose-Protokolle von Docker Compose, zum Beispiel: Docker-compose -f Docker-com

Sie können zur Quelle der Inlandsspiegel wechseln. Die Schritte sind wie folgt: 1. Bearbeiten Sie die Konfigurationsdatei /etc/docker/daemon.json und fügen Sie die Spiegelquellenadresse hinzu; 2. Starten Sie den Docker Service Sudo SystemCtl Docker neu, um die Download -Geschwindigkeit und -stabilität des Bilddownloads zu verbessern.

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).

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").

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.

Sie können Docker -private Repositorys erstellen, um Containerbilder sicher zu speichern und zu verwalten und strenge Kontrolle und Sicherheit bereitzustellen. Zu den Schritten gehören: Erstellen eines Repositorys, Gewährung von Zugriff, Bereitstellung eines Repositorys, Drückens eines Bildes und Ziehen eines Bildes. Zu den Vorteilen gehören Sicherheit, Versionskontrolle, reduzierter Netzwerkverkehr und Anpassung.
