Heim Backend-Entwicklung PHP-Tutorial 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

Oct 12, 2023 am 11:24 AM
docker nginx mariadb

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

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.

  1. 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
  2. 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:

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

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

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

  4. Container starten
    Führen Sie den folgenden Befehl im Stammverzeichnis des Projekts aus, um den Container zu starten:

    docker-compose up -d

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

  5. 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;
     }
    }

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

  6. 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!";
  7. 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!

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

Heiße KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

PHP-Tutorial
1594
276
So verwenden Sie PHP, um eine Q & A -Community -Plattform zu entwickeln, detaillierte Erläuterung des interaktiven Monetisierungsmodells mit PHP -Community So verwenden Sie PHP, um eine Q & A -Community -Plattform zu entwickeln, detaillierte Erläuterung des interaktiven Monetisierungsmodells mit PHP -Community Jul 23, 2025 pm 07:21 PM

1. Die erste Wahl für die Kombination aus Laravel Mysql Vue/React in der PHP -Entwicklungsfrage und der Antwortgemeinschaft ist die erste Wahl für die Kombination aus Laravel Mysql Vue/React aufgrund ihrer Reife im Ökosystem und der hohen Entwicklungseffizienz; 2. Die hohe Leistung erfordert Abhängigkeit von Cache (REDIS), Datenbankoptimierung, CDN und asynchronen Warteschlangen; 3. Die Sicherheit muss mit Eingabefilterung, CSRF -Schutz, HTTPS, Kennwortverschlüsselung und Berechtigungssteuerung erfolgen. V.

So setzen Sie Umgebungsvariablen in der PHP -Umgebung Beschreibung des Hinzufügens von PHP -Ausführungsumgebungsvariablen So setzen Sie Umgebungsvariablen in der PHP -Umgebung Beschreibung des Hinzufügens von PHP -Ausführungsumgebungsvariablen Jul 25, 2025 pm 08:33 PM

Es gibt drei Hauptmethoden, um Umgebungsvariablen in PHP festzulegen: 1. Globale Konfiguration über php.ini; 2. durch einen Webserver (z. B. SetEnv von Apache oder FastCGI_Param von Nginx); 3. Verwenden Sie die Funktion Putenv () in PHP -Skripten. Unter ihnen eignet sich Php.ini für globale und selten ändernde Konfigurationen. Die Webserverkonfiguration eignet sich für Szenarien, die isoliert werden müssen, und Putenv () ist für temporäre Variablen geeignet. Die Persistenz -Richtlinien umfassen Konfigurationsdateien (z. B. Php.ini oder Webserverkonfiguration), .env -Dateien werden mit der DOTENV -Bibliothek und dynamische Injektion von Variablen in CI/CD -Prozessen geladen. Sicherheitsmanagement sensible Informationen sollten hart codiert werden, und es wird empfohlen.

So erstellen Sie eine PHP NGINX -Umgebung mit macOS, um die Kombination von NGINX- und PHP -Diensten zu konfigurieren So erstellen Sie eine PHP NGINX -Umgebung mit macOS, um die Kombination von NGINX- und PHP -Diensten zu konfigurieren Jul 25, 2025 pm 08:24 PM

Die Kernrolle von Homebrew bei der Konstruktion der Mac -Umgebung besteht darin, die Installation und Verwaltung der Software zu vereinfachen. 1. Homebrew verarbeitet automatisch Abhängigkeiten und verkapselt komplexe Kompilierungs- und Installationsprozesse in einfache Befehle. 2. Bietet ein einheitliches Softwarepaket -Ökosystem, um die Standardisierung des Software -Installationsorts und der Konfiguration zu gewährleisten. 3. Integriert Service -Management -Funktionen und kann Dienste leicht über Brewservices starten und stoppen. 4. Bequemes Software -Upgrade und -wartung und verbessert die Sicherheit und Funktionalität der Systeme.

Wie mache ich PHP -Container -Unterstützung automatisch? Kontinuierlich integrierte CI -Konfigurationsmethode der PHP -Umgebung Wie mache ich PHP -Container -Unterstützung automatisch? Kontinuierlich integrierte CI -Konfigurationsmethode der PHP -Umgebung Jul 25, 2025 pm 08:54 PM

Um PHP -Container zur Unterstützung der automatischen Konstruktion zu ermöglichen, liegt der Kern in der Konfiguration des Continuous Integration (CI) -Prozesses. 1. Verwenden Sie Dockerfile, um die PHP -Umgebung zu definieren, einschließlich grundlegender Bild-, Erweiterungsinstallations-, Abhängigkeitsmanagement- und Berechtigungseinstellungen. 2. Konfigurieren Sie CI/CD-Tools wie GitLabci und definieren Sie die Erstell-, Test- und Bereitstellungsstadien über die Datei .gitlab-ci.yml, um automatische Konstruktion, Test und Bereitstellung zu erreichen. 3.. Integrieren Sie Testframeworks wie Phpunit, um sicherzustellen, dass die Tests automatisch nach Codeänderungen ausgeführt werden. 4. Verwenden Sie automatisierte Bereitstellungsstrategien wie Kubernetes, um die Bereitstellungskonfiguration durch die Datei bereitzustellen. 5. Dockerfile optimieren und mehrstufige Konstruktionen übernehmen

Erstellen von produktionsbereiten Docker-Umgebungen für PHP Erstellen von produktionsbereiten Docker-Umgebungen für PHP Jul 27, 2025 am 04:32 AM

Die Verwendung des richtigen PHP-Basisbildes und die Konfiguration einer sicheren, leistungsoptimierten Docker-Umgebung ist der Schlüssel zum Erreichen der Produktion. 1. Wählen Sie PHP: 8,3-FPM-Alpine als Grundbild, um die Angriffsfläche zu reduzieren und die Leistung zu verbessern. 2. Deaktivieren Sie gefährliche Funktionen über benutzerdefinierte Php.ini, deaktivieren Sie die Fehleranzeige und aktivieren Sie Opcache und JIT, um die Sicherheit und Leistung zu verbessern. 3.. Verwenden Sie Nginx als Reverse Proxy, um den Zugriff auf sensible Dateien einzuschränken und die PHP-Anforderungen korrekt an PHP-FPM weiterzuleiten. 4. Verwenden Sie mehrstufige Optimierungsbilder, um Entwicklungsabhängigkeiten zu entfernen, und richten Sie nicht Root-Benutzer auf, um Container auszuführen. 5. optionaler Aufsichtsbehörde zum Verwalten mehrerer Prozesse wie Cron; 6. Überprüfen

So erstellen Sie eine unabhängige Umgebung von PHP -Task Container. So konfigurieren Sie den Container zum Ausführen von PHP -Timed -Skripten So erstellen Sie eine unabhängige Umgebung von PHP -Task Container. So konfigurieren Sie den Container zum Ausführen von PHP -Timed -Skripten Jul 25, 2025 pm 07:27 PM

Der Aufbau einer unabhängigen Umgebung für PHP -Aufgabencontainer kann über Docker implementiert werden. Die spezifischen Schritte sind wie folgt: 1. Installieren Sie Docker und DockerComponpose als Grundlage; 2. Erstellen Sie ein unabhängiges Verzeichnis, um Dockerfile und Crontab -Dateien zu speichern. 3. Schreiben Sie Dockerfile, um die PHPCLI -Umgebung zu definieren und Cron und die erforderlichen Erweiterungen zu installieren. 4. Schreiben Sie eine Crontab -Datei, um Zeitaufgaben zu definieren. 5. Schreiben Sie ein Docker-compose.yml-Mount-Skriptverzeichnis und konfigurieren Sie Umgebungsvariablen. 6. Starten Sie den Container und überprüfen Sie das Protokoll. Im Vergleich zu Timing -Aufgaben in Webcontainern haben unabhängige Container die Vorteile der Ressourcenisolation, der reinen Umgebung, der starken Stabilität und einer einfachen Expansion. Gewährleistung der Protokollierung und Fehleraufnahme

So verwenden Sie Kubernetes, um die PHP -Umgebung konsistente Produktion und lokale Behälterkonfigurationsstandards zu erhalten So verwenden Sie Kubernetes, um die PHP -Umgebung konsistente Produktion und lokale Behälterkonfigurationsstandards zu erhalten Jul 25, 2025 pm 06:21 PM

Um das Problem der Inkonsistenz zwischen PHP -Umgebung und Produktion zu lösen, besteht der Kern darin, die Container- und Orchestrierungsfunktionen von Kubernetes zu verwenden, um die Umweltkonsistenz zu erreichen. Die spezifischen Schritte sind wie folgt: 1. Erstellen Sie ein einheitliches Docker -Bild, einschließlich aller PHP -Versionen, Erweiterungen, Abhängigkeiten und Webserverkonfigurationen, um sicherzustellen, dass dasselbe Bild in der Entwicklung und Produktion verwendet wird. 2. Verwenden Sie Kubernetes 'configMap und geheim, um nicht sensitive und empfindliche Konfigurationen zu verwalten und eine flexible Umstellung verschiedener Umgebungskonfigurationen durch Volumenmontage oder Umgebungsvariableninjektion zu erreichen. 3. Gewährleistung der Konsistenz des Anwendungsverhaltens durch Unified Kubernetes -Deployment -Definitionsdateien (z. B. Bereitstellung und Dienst) und in die Versionskontrolle einbeziehen; 4.

So verwenden Sie PHP zur Entwicklung von E-Commerce-Backend-Monetarisierung PHP E-Commerce-Systemarchitektur und Gewinnstrategie So verwenden Sie PHP zur Entwicklung von E-Commerce-Backend-Monetarisierung PHP E-Commerce-Systemarchitektur und Gewinnstrategie Jul 25, 2025 pm 06:33 PM

1. Die Mainstream-Frameworks des PHP-E-Commerce-Backends sind Laravel (Fast Development, Starke Ecology), Symfony (Unternehmensebene, stabile Struktur), YII (ausgezeichnete Leistung, geeignet für standardisierte Module); 2. Der Technologiestapel muss mit MySQL Redis-Cache, Rabbitmq/Kafka-Nachrichtenwarteschlange, Nginx PHP-FPM und Front-End-Trennung ausgestattet werden. 3.. Eine hohe Parallelitätsarchitektur sollte geschichtet und modular sein, Datenbank -Lesen und Schreiben von Trenn-/Verteilte Datenbank, beschleunigt mit Cache und CDN, asynchrone Verarbeitung von Aufgaben, Teilen von Lastausgleich und Sitzung, allmählich Microservice und eine Überwachung und einen Alarmsystem. 4. Zu den Mehrfachmonetisierungspfaden gehören Produktpreisdifferenz oder Plattformprovision, Standortwerbung, SaaS-Abonnement, maßgeschneiderte Entwicklung und Plug-in-Markt, API-Verbindung

See all articles