Heim Backend-Entwicklung PHP-Tutorial Containerisieren Sie PHP-Anwendungen mit Docker Compose, Nginx und MariaDB

Containerisieren Sie PHP-Anwendungen mit Docker Compose, Nginx und MariaDB

Oct 12, 2023 pm 02:40 PM
docker nginx mariadb

使用Docker Compose、Nginx和MariaDB实现PHP应用程序的容器化

Titel: Containerisierung von PHP-Anwendungen mit Docker Compose, Nginx und MariaDB

Einführung: Mit der rasanten Entwicklung der Containerisierungstechnologie achten immer mehr Entwickler auf die Verwendung von Docker für die Anwendungsbereitstellung und -verwaltung. In diesem Artikel wird die Verwendung von Docker Compose, Nginx und MariaDB zur Implementierung der Containerisierung von PHP-Anwendungen vorgestellt und spezifische Codebeispiele gegeben, um den Lesern ein besseres Verständnis und eine bessere Übung zu ermöglichen.

  1. Einführung in Docker Compose
    Docker Compose ist ein Tool zum Definieren und Ausführen mehrerer Docker-Container. Es verwendet YAML-Dateien, um die Dienste, das Netzwerk, den Speicher usw. einer Anwendung zu konfigurieren. Mit Docker Compose können wir komplexe Multi-Container-Anwendungen einfacher definieren und verwalten.
  2. Einführung in Nginx
    Nginx ist ein leistungsstarker HTTP- und Reverse-Proxy-Server, der zur Bereitstellung statischer Inhalte und Proxy-dynamischer Inhalte verwendet werden kann. In Containeranwendungen wird Nginx häufig als Front-End-Proxyserver verwendet, der für die Annahme von Clientanfragen und deren Weiterleitung an den Back-End-Anwendungsdienst verantwortlich ist.
  3. Einführung in MariaDB
    MariaDB ist ein relationales Open-Source-Datenbankverwaltungssystem auf Basis von MySQL. Es bietet zuverlässige Leistungs- und Sicherheitsfunktionen und wird häufig in Webanwendungen und Cloud-Computing-Umgebungen eingesetzt.
  4. Architekturdesign
    Unsere containerisierte PHP-Anwendung besteht aus drei Diensten: Nginx, PHP-FPM und MariaDB. Nginx wird verwendet, um die HTTP-Anfrage des Clients zu empfangen und zu verarbeiten, dann die dynamische Anfrage an PHP-FPM weiterzuleiten und die statische Anfrage an den Client zurückzugeben. PHP-FPM ist der PHP FastCGI-Prozessmanager, der für die Verarbeitung und Interpretation von PHP-Code verantwortlich ist. MariaDB wird zum Speichern von Anwendungsdaten verwendet.

Hier ist ein Beispiel unserer Docker Compose-Konfigurationsdatei (docker-compose.yml):

version: '3'
services:
  webserver:
    image: nginx:latest
    ports:
      - 80:80
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf:ro
    depends_on:
      - php
  php:
    image: php:7.4-fpm
    volumes:
      - ./php.ini:/usr/local/etc/php/php.ini:ro
      - ./code:/var/www/html
    depends_on:
      - db
  db:
    image: mariadb:latest
    environment:
      MYSQL_ROOT_PASSWORD: your_password
      MYSQL_DATABASE: your_database
      MYSQL_USER: your_username
      MYSQL_PASSWORD: your_password
    volumes:
      - ./data:/var/lib/mysql
Nach dem Login kopieren

Wir haben drei Dienste, die durch diese Konfigurationsdatei definiert sind: Webserver, PHP und DB. Der Webserver-Dienst verwendet das Nginx-Image und ordnet Port 80 des Hosts Port 80 des Containers zu. Der PHP-Dienst verwendet das PHP-FPM-Image und mountet das Codeverzeichnis im Container. Der Datenbankdienst verwendet die MariaDB-Spiegelung und legt den Benutzernamen, das Kennwort und das Datenspeicherverzeichnis der Datenbank fest.

  1. Konfigurationsdateien und Codebeispiele
    Wir müssen außerdem die Nginx-Konfigurationsdatei (nginx.conf) und die PHP-Konfigurationsdatei (php.ini) bereitstellen. Nachfolgend finden Sie Beispiele:

nginx.conf:

worker_processes auto;

events {
    worker_connections 1024;
}

http {
    server {
        listen 80;
        
        location / {
            root /var/www/html;
            index index.php index.html index.htm;
            try_files $uri $uri/ /index.php?$query_string;
        }
        
        location ~ .php$ {
            fastcgi_pass php:9000;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param PHP_VALUE "error_log=/var/log/nginx/php_errors.log";
        }
    }
}
Nach dem Login kopieren

php.ini:

date.timezone = Asia/Shanghai
upload_max_filesize = 2M
post_max_size = 8M
memory_limit = 128M
Nach dem Login kopieren

Im obigen Beispiel konfiguriert nginx.conf den Überwachungsport und die Proxy-Regeln von Nginx, um dynamische Anfragen an den PHP-Dienst weiterzuleiten. php.ini konfiguriert einige allgemeine PHP-Parameter, wie z. B. Zeitzone und Einschränkungen beim Hochladen von Dateien.

  1. Containerisierte Anwendungen ausführen
    Nachdem die Konfigurationsdatei fertig ist, können wir die Containeranwendung über den folgenden Befehl starten:
$ docker-compose up -d
Nach dem Login kopieren

Nach dem Ausführen dieses Befehls lädt Docker den Container automatisch herunter und startet ihn entsprechend der Konfigurationsdatei. Mit dem Befehl docker-compose ps können Sie laufende Container anzeigen.

  1. Zusammenfassung
    In diesem Artikel wird erläutert, wie Sie mit Docker Compose, Nginx und MariaDB die Containerisierung von PHP-Anwendungen implementieren, und es werden spezifische Codebeispiele aufgeführt. Wir hoffen, dass die Leser durch die Lektüre dieses Artikels die Containerisierungstechnologie besser verstehen und üben und die Effizienz der Anwendungsbereitstellung und -verwaltung verbessern können.

Das Obige ist nur ein einfaches Beispiel, die tatsächliche Situation kann komplexer sein und der Leser kann entsprechend seinen eigenen Bedürfnissen entsprechende Anpassungen und Erweiterungen vornehmen. Ich hoffe, dieser Artikel kann den Lesern etwas helfen!

Das obige ist der detaillierte Inhalt vonContainerisieren Sie PHP-Anwendungen mit Docker Compose, Nginx und MariaDB. 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

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.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

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)

So verlassen Sie den Container mit Docker So verlassen Sie den Container mit Docker Apr 15, 2025 pm 12:15 PM

Vier Möglichkeiten zum Beenden von Docker Container: Verwenden Sie Strg D im Befehl Container Terminal ENGEBOT IM Container Terminal verwenden Sie Docker Stop & lt; container_name & gt; Befehl verwenden Sie Docker Kill & lt; container_name & gt; Befehl im Host -Terminal (Force Exit)

So aktualisieren Sie das Bild von Docker So aktualisieren Sie das Bild von Docker Apr 15, 2025 pm 12:03 PM

Die Schritte zur Aktualisierung eines Docker -Images sind wie folgt: Ziehen Sie das neueste Bild -Tag. Neues Bild Löschen Sie das alte Bild für ein bestimmtes Tag (optional) den Container neu (falls erforderlich) neu starten Sie neu (falls erforderlich).

So kopieren Sie Dateien in Docker nach außen So kopieren Sie Dateien in Docker nach außen Apr 15, 2025 pm 12:12 PM

Methoden zum Kopieren von Dateien in externen Hosts in Docker: Verwenden Sie den Befehl Docker CP: Docker CP [Optionen] & lt; Containerpfad & gt; & lt; Host -Pfad & gt;. Verwenden von Datenvolumina: Erstellen Sie ein Verzeichnis auf dem Host und verwenden Sie den Parameter -V, um das Verzeichnis in den Container zu montieren, um den Container zu erstellen, um eine bidirektionale Dateisynchronisation zu erreichen.

So starten Sie Docker neu So starten Sie Docker neu Apr 15, 2025 pm 12:06 PM

So starten Sie den Docker -Container neu: Holen Sie sich die Container -ID (Docker PS); Stop den Container (Docker Stop & lt; Container_id & gt;); Starten Sie den Container (Docker start & lt; container_id & gt;); Stellen Sie sicher, dass der Neustart erfolgreich ist (Docker PS). Andere Methoden: Docker Compose (Docker-Compose Neustart) oder Docker-API (siehe Docker-Dokumentation).

So überprüfen Sie den Namen des Docker -Containers So überprüfen Sie den Namen des Docker -Containers Apr 15, 2025 pm 12:21 PM

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

So sehen Sie den Docker -Prozess So sehen Sie den Docker -Prozess Apr 15, 2025 am 11:48 AM

Docker Process Viewing -Methode: 1. Docker Cli -Befehl: Docker PS; 2. SYSTEMD CLI -Befehl: SystemCTL Status Docker; 3.. Docker Compose CLI Command: Docker-Compose PS; 4. Process Explorer (Windows); 5. /proc -Verzeichnis (Linux).

So starten Sie MySQL von Docker So starten Sie MySQL von Docker Apr 15, 2025 pm 12:09 PM

Der Prozess des Startens von MySQL in Docker besteht aus den folgenden Schritten: Ziehen Sie das MySQL -Image zum Erstellen und Starten des Containers an, setzen

So verwenden Sie Docker Desktop So verwenden Sie Docker Desktop Apr 15, 2025 am 11:45 AM

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

See all articles