Heim  >  Artikel  >  Backend-Entwicklung  >  Datenverwaltung für PHP-Anwendungen mit Docker Compose, Nginx und MariaDB

Datenverwaltung für PHP-Anwendungen mit Docker Compose, Nginx und MariaDB

王林
王林Original
2023-10-12 08:01:45586Durchsuche

通过Docker Compose、Nginx和MariaDB实现PHP应用程序的数据管理

Datenverwaltung von PHP-Anwendungen über Docker Compose, Nginx und MariaDB

Einführung: In der heutigen Softwareentwicklung ist die Containerisierung zu einer sehr beliebten Technologie geworden, und Docker bietet als Marktführer komfortable und zuverlässige Containerisierungslösungen. In diesem Artikel erfahren Sie, wie Sie die Datenverwaltung für PHP-Anwendungen mithilfe von Docker Compose, Nginx und MariaDB implementieren.

1. Was ist Docker Compose?
Docker Compose ist ein Tool zum Definieren und Ausführen mehrerer Docker-Container. Es verwendet YAML-Dateien, um die Dienste der Anwendung zu konfigurieren. Durch die Verwendung von Docker Compose können wir problemlos mehrere Container starten, stoppen und verwalten und Parameter und Konfigurationen für jeden Container festlegen.

2. PHP-Anwendungen mit Docker Compose und Nginx konfigurieren

  1. Docker und Docker Compose installieren
    Zuerst müssen wir Docker und Docker Compose installieren. Detaillierte Installationsschritte finden Sie auf der offiziellen Docker-Website.
  2. Docker Compose-Datei erstellen
    Erstellen Sie eine Datei namens docker-compose.yml im Stammverzeichnis des Projekts und fügen Sie den folgenden Inhalt hinzu:

    version: '3'
    services:
      nginx:
        image: nginx:latest
        ports:
          - 80:80
        volumes:
          - ./nginx.conf:/etc/nginx/nginx.conf
          - ./www:/var/www/html
      php:
        image: php:7.4-fpm
        volumes:
          - ./www:/var/www/html
      mariadb:
        image: mariadb:latest
        restart: always
        environment:
          MYSQL_ROOT_PASSWORD: your_root_password
          MYSQL_DATABASE: your_database_name
          MYSQL_USER: your_mysql_username
          MYSQL_PASSWORD: your_mysql_password

    Diese Konfigurationsdatei definiert drei Dienste: Nginx, PHP und MariaDB. Der Nginx-Dienst verwendet das nginx:latest-Image und ordnet Port 80 des Hosts Port 80 des Containers zu. Der PHP-Dienst verwendet das php:7.4-fpm-Image, um das WWW-Verzeichnis des Hosts über ein gemeinsam genutztes Volume dem Verzeichnis /var/www/html des Containers zuzuordnen. Der MariaDB-Dienst verwendet das Bild mariadb:latest und legt das Root-Passwort der Datenbank sowie den Datenbanknamen, den Benutzernamen und das Passwort fest. Bitte ändern Sie diese Parameter entsprechend den tatsächlichen Anforderungen.

  3. Nginx konfigurieren
    Erstellen Sie eine Datei mit dem Namen nginx.conf im Stammverzeichnis des Projekts und fügen Sie den folgenden Inhalt hinzu:

    server {
      listen 80;
      server_name localhost;
      root /var/www/html;
      index index.php;
    
      location / {
        try_files $uri $uri/ /index.php?$query_string;
      }
    
      location ~ .php$ {
        fastcgi_pass php:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
      }
    }

    Diese Konfigurationsdatei definiert die Grundkonfiguration von Nginx und leitet alle Anforderungen an die Indizierung von PHP-Dateien um Parsen von PHP-Anwendungen.

  4. Starten Sie den Docker-Container
    Führen Sie den folgenden Befehl aus, um den Docker-Container zu starten:

    docker-compose up -d

    Dieser Befehl startet alle in der Konfigurationsdatei definierten Dienste und führt sie im Hintergrundmodus aus.

  5. Mit MariaDB verbinden
    Sie können jeden MySQL-Client verwenden, um eine Verbindung zur MariaDB-Datenbank herzustellen, indem Sie den zuvor in der Konfigurationsdatei festgelegten Benutzernamen und das Passwort verwenden.

3. Fazit
Durch die Verwendung von Docker Compose, Nginx und MariaDB können wir die Daten von PHP-Anwendungen einfach konfigurieren und verwalten. Diese Containerlösung ermöglicht nicht nur eine bequeme Bereitstellung und Erweiterung, sondern gewährleistet auch Datensicherheit und Stabilität. Ich hoffe, dass dieser Artikel für Ihr Studium und Ihre Praxis hilfreich sein wird.

Codebeispiele und Projektstruktur finden Sie unter: https://github.com/example/docker-compose-php-n...

Das obige ist der detaillierte Inhalt vonDatenverwaltung für PHP-Anwendungen mit Docker Compose, Nginx und MariaDB. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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