Heim  >  Artikel  >  Backend-Entwicklung  >  Kontinuierliche Bereitstellung von PHP-Anwendungen mit Docker Compose, Nginx und MariaDB

Kontinuierliche Bereitstellung von PHP-Anwendungen mit Docker Compose, Nginx und MariaDB

WBOY
WBOYOriginal
2023-10-12 12:06:271342Durchsuche

通过Docker Compose、Nginx和MariaDB实现PHP应用程序的持续交付

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

Übersicht:
Mit der rasanten Entwicklung der Cloud-Computing- und Containerisierungstechnologie beginnen immer mehr Anwendungen mit der Containerisierung, um eine schnelle Bereitstellung und Bereitstellung zu erreichen. In diesem Artikel wird erläutert, wie Sie mit Docker Compose, Nginx und MariaDB eine einfache PHP-Anwendung erstellen und den Continuous-Delivery-Prozess implementieren. Gleichzeitig werden wir spezifische Codebeispiele geben, um den Lesern zu helfen, diesen Prozess besser zu verstehen.

1. Vorbereitung

  1. Installieren Sie Docker und Docker Compose.

2. Docker Compose-Konfigurationsdatei erstellen
Erstellen Sie eine Datei mit dem Namen docker-compose.yml und füllen Sie sie gemäß dem folgenden Beispielinhalt aus.

version: '3'
services:
  web:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "80:80"
    depends_on:
      - db
  db:
    image: mariadb:latest
    environment:
      MYSQL_ROOT_PASSWORD: example

3. Nginx-Konfigurationsdatei erstellen
Erstellen Sie eine Datei mit dem Namen nginx.conf und füllen Sie sie gemäß dem folgenden Beispielinhalt aus.

server {
    listen 80;
    server_name localhost;
    root /var/www/html;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ .php$ {
        fastcgi_pass web:9000;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

4. PHP-Anwendungsdatei erstellen
Erstellen Sie eine Datei mit dem Namen index.php im Projektstammverzeichnis und füllen Sie sie gemäß dem Beispielinhalt unten aus.

<?php
echo "Hello, World!";
?>

5. Dockerfile erstellen
Erstellen Sie eine Datei mit dem Namen Dockerfile im Projektstammverzeichnis und füllen Sie sie gemäß dem Beispielinhalt unten aus.

FROM php:7.4-fpm

WORKDIR /var/www/html

COPY . /var/www/html

RUN docker-php-ext-install mysqli pdo pdo_mysql

CMD ["php-fpm"]

EXPOSE 9000

6. Erstellen und starten Sie den Container
Führen Sie die folgenden Befehle im Projektstammverzeichnis aus, um den Container zu erstellen und zu starten.

docker-compose up -d

7. Überprüfen Sie die Ausführungsergebnisse
Besuchen Sie http://localhost im Browser. Wenn Sie die Worte „Hello, World!“ sehen, bedeutet dies, dass der Container erfolgreich ausgeführt wurde.

8. Kontinuierlicher Lieferprozess
Wenn wir die Anwendung aktualisieren, müssen wir die folgenden Schritte befolgen, um eine kontinuierliche Lieferung zu erreichen.

  1. Codedateien ändern
    Bevor wir Codedateien ändern, müssen wir den aktuell ausgeführten Container stoppen.
docker-compose down

Dann können wir die Datei index.php ändern, zum Beispiel „Hello, World!“ in „Hello, Docker!“ ändern.

  1. Container neu erstellen und starten
    Führen Sie den folgenden Befehl im Projektstammverzeichnis aus, um den Container neu zu erstellen und zu starten.
docker-compose up -d --build
  1. Überprüfen Sie die laufenden Ergebnisse
    Besuchen Sie http://localhost im Browser. Wenn Sie die Worte „Hallo, Docker!“ sehen, bedeutet dies, dass das Update erfolgreich bereitgestellt wurde.

Fazit:
Durch die Verwendung von Docker Compose, Nginx und MariaDB können wir schnell eine PHP-Anwendung erstellen und den Continuous-Delivery-Prozess implementieren. Der Vorteil der Containerisierungstechnologie besteht darin, dass sie konsistente Entwicklungs-, Test- und Produktionsumgebungen bereitstellen kann, was die Bereitstellung und Wartung erheblich vereinfacht. Gleichzeitig kann die Verwendung von Nginx als Reverse-Proxy und Load-Balancer den Anforderungsverkehr besser verwalten. Anhand der obigen Codebeispiele können Leser besser verstehen, wie diese Tools zur Implementierung des Continuous-Delivery-Prozesses verwendet werden.

Das obige ist der detaillierte Inhalt vonKontinuierliche Bereitstellung von 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