Heim > Artikel > Backend-Entwicklung > Die Kombination aus Docker Compose, Nginx und MariaDB: PHP-Anwendungen effizient betreiben und warten
So passen Docker Compose, Nginx und MariaDB zusammen: Effizienter Betrieb und Wartung von PHP-Anwendungen
Einführung:
Im heutigen Internetzeitalter wachsen die Nachfrage und der Umfang von Anwendungen, daher sind effiziente Betriebs- und Bereitstellungslösungen unerlässlich wichtig. Docker ist eine beliebte Containerisierungsplattform, die die Komplexität der Anwendungsbereitstellung und -verwaltung löst. Docker Compose ist ein leistungsstarkes Tool von Docker, mit dem wir eine Kombination mehrerer Container über eine einfache Konfigurationsdatei definieren und verwalten können. In diesem Artikel konzentrieren wir uns auf die Verwendung von Docker Compose mit Nginx und MariaDB für den effizienten Betrieb und die Wartung von PHP-Anwendungen und stellen spezifische Codebeispiele bereit.
1. Einführung in Docker Compose
Docker Compose ist ein von Docker offiziell eingeführtes Tool zum Definieren und Verwalten mehrerer Docker-Container. Über eine einfache YAML-Datei können Sie problemlos mehrere Container, Abhängigkeiten zwischen Containern, Netzwerkkonfiguration usw. definieren.
Zu den Vorteilen der Verwendung von Docker Compose gehören:
2. Verwendung von Nginx
Nginx ist ein leichter, leistungsstarker Webserver, der als Reverse-Proxy-Server, Lastausgleichsserver, statischer Ressourcenserver und für andere Zwecke verwendet werden kann. In unserer PHP-Anwendung können wir Nginx als Reverse-Proxy-Server verwenden, um Anfragen an den PHP-FPM-Server im Backend weiterzuleiten.
Hier ist eine Beispielkonfigurationsdatei (docker-compose.yml) mit Docker Compose und Nginx:
version: '3' services: nginx: image: nginx:latest ports: - 80:80 volumes: - ./nginx.conf:/etc/nginx/nginx.conf - ./public:/var/www/html php: image: php:7.4-fpm volumes: - ./public:/var/www/html networks: default: external: name: my-network
In der obigen Konfiguration haben wir einen Dienst namens nginx und einen Dienst namens php definiert. Unter anderem verwendet der Nginx-Dienst das offizielle Nginx-Image und ordnet den Port 80 des Containers dem Port 80 des Hosts zu. Gleichzeitig mounten wir die Nginx-Konfigurationsdatei (nginx.conf) und das öffentliche Verzeichnis, in dem sich unsere PHP-Anwendung befindet, im Container.
3. Verwendung von MariaDB
MariaDB ist ein kostenloses, relationales Open-Source-Datenbankverwaltungssystem und ein Zweig von MySQL, das leistungsstarke und äußerst zuverlässige Datenbanklösungen bereitstellt. In unserer PHP-Anwendung können wir MariaDB als Backend-Datenbank verwenden.
Hier ist eine Beispielkonfigurationsdatei (docker-compose.yml) mit Docker Compose und MariaDB:
version: '3' services: db: image: mariadb:latest ports: - 3306:3306 environment: - MYSQL_ROOT_PASSWORD=secret - MYSQL_DATABASE=my_database - MYSQL_USER=my_user - MYSQL_PASSWORD=my_password volumes: - ./data:/var/lib/mysql php: image: php:7.4-fpm volumes: - ./public:/var/www/html networks: default: external: name: my-network
In der obigen Konfiguration haben wir einen Dienst namens db und einen Dienst namens php definiert. Unter anderem verwendet der DB-Dienst das offizielle MariaDB-Image und ordnet den 3306-Port des Containers dem 3306-Port des Hosts zu. Wir legen auch die relevante Konfiguration der Datenbank über Umgebungsvariablen fest, wie z. B. Root-Passwort, Datenbankname, Benutzer und Passwort usw. Gleichzeitig mounten wir den Datenbankordner im Container, um eine dauerhafte Speicherung der Daten sicherzustellen.
4. Vollständige Beispielkonfiguration
Das Folgende ist eine vollständige Beispielkonfiguration für den effizienten Betrieb und die Wartung von PHP-Anwendungen mit Docker Compose, Nginx und MariaDB:
version: '3' services: nginx: image: nginx:latest ports: - 80:80 volumes: - ./nginx.conf:/etc/nginx/nginx.conf - ./public:/var/www/html depends_on: - php networks: - my-network php: image: php:7.4-fpm volumes: - ./public:/var/www/html networks: - my-network db: image: mariadb:latest ports: - 3306:3306 environment: - MYSQL_ROOT_PASSWORD=secret - MYSQL_DATABASE=my_database - MYSQL_USER=my_user - MYSQL_PASSWORD=my_password volumes: - ./data:/var/lib/mysql networks: - my-network networks: my-network: external: true
In der obigen Konfiguration definieren wir eine Datei namens Nginx Services, einen Dienst namens php und einen Dienst namens db. Gleichzeitig haben wir auch ein externes Netzwerk namens my-network definiert, um diese drei Dienste zu verbinden. Der Nginx-Dienst hängt vom PHP-Dienst ab, daher verwenden wir das Schlüsselwort depend_on, um diese Abhängigkeit anzugeben.
5. Zusammenfassung
Das Obige sind Methoden und spezifische Codebeispiele für die Verwendung von Docker Compose, Nginx und MariaDB, um PHP-Anwendungen effizient zu betreiben und zu warten. Durch die Verwendung des Docker Compose-Tools können wir schnell Anwendungen erstellen und verwalten, die mehrere Container enthalten, und so die Bereitstellungseffizienz sowie den Betriebs- und Wartungskomfort verbessern. Als Hochleistungs-Webserver kann Nginx uns bei der Implementierung von Funktionen wie Reverse-Proxy und Lastausgleich helfen. MariaDB bietet als zuverlässiges Datenbankmanagementsystem leistungsstarke und hochverfügbare Datenspeicherlösungen für unsere Anwendungen.
Ich hoffe, dass dieser Artikel Ihnen hilft, Docker Compose, Nginx und MariaDB zu verstehen und zu verwenden, und ich wünsche Ihnen bessere Ergebnisse und Erfahrungen beim Betrieb und der Wartung von PHP-Anwendungen!
Das obige ist der detaillierte Inhalt vonDie Kombination aus Docker Compose, Nginx und MariaDB: PHP-Anwendungen effizient betreiben und warten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!