Maison >développement back-end >tutoriel php >Livraison continue d'applications PHP avec Docker Compose, Nginx et MariaDB

Livraison continue d'applications PHP avec Docker Compose, Nginx et MariaDB

WBOY
WBOYoriginal
2023-10-12 12:06:271372parcourir

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

Livraison continue d'applications PHP via Docker Compose, Nginx et MariaDB

Vue d'ensemble :
Avec le développement rapide du cloud computing et de la technologie de conteneurisation, de plus en plus d'applications commencent à adopter la conteneurisation pour obtenir une livraison et un déploiement rapides. Cet article explique comment utiliser Docker Compose, Nginx et MariaDB pour créer une application PHP simple et implémenter le processus de livraison continue. Dans le même temps, nous donnerons des exemples de code spécifiques pour aider les lecteurs à mieux comprendre ce processus.

1. Préparation

  1. Installez Docker et Docker Compose.

2. Créez un fichier de configuration Docker Compose
Créez un fichier nommé docker-compose.yml et remplissez-le selon l'exemple de contenu ci-dessous.

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

3. Créez un fichier de configuration Nginx
Créez un fichier nommé nginx.conf et remplissez-le selon l'exemple de contenu suivant.

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. Créez un fichier d'application PHP
Créez un fichier nommé index.php dans le répertoire racine du projet et remplissez-le selon l'exemple de contenu ci-dessous.

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

5. Créer Dockerfile
Créez un fichier nommé Dockerfile dans le répertoire racine du projet et remplissez-le selon l'exemple de contenu ci-dessous.

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. Créez et démarrez le conteneur
Exécutez les commandes suivantes dans le répertoire racine du projet pour créer et démarrer le conteneur.

docker-compose up -d

7. Vérifiez les résultats d'exécution
Visitez http://localhost dans le navigateur. Si vous voyez les mots "Hello, World!", cela signifie que le conteneur s'est exécuté avec succès.

8. Processus de livraison continue
Lorsque nous mettons à jour l'application, nous devons suivre les étapes suivantes pour obtenir une livraison continue.

  1. Modifier les fichiers de code
    Avant de modifier les fichiers de code, nous devons arrêter le conteneur en cours d'exécution.
docker-compose down

Ensuite, nous pouvons modifier le fichier index.php, par exemple, remplacer "Hello, World!" par "Hello, Docker!".

  1. Reconstruisez et démarrez le conteneur
    Exécutez la commande suivante dans le répertoire racine du projet pour reconstruire et démarrer le conteneur.
docker-compose up -d --build
  1. Vérifiez les résultats en cours d'exécution
    Visitez http://localhost dans le navigateur Si vous voyez les mots "Bonjour, Docker !", cela signifie que la mise à jour a été déployée avec succès.

Conclusion :
En utilisant Docker Compose, Nginx et MariaDB, nous pouvons rapidement créer une application PHP et mettre en œuvre le processus de livraison continue. L’avantage de la technologie de conteneurisation est qu’elle peut fournir des environnements de développement, de test et de production cohérents, simplifiant ainsi considérablement le déploiement et la maintenance. Dans le même temps, l’utilisation de Nginx comme proxy inverse et équilibreur de charge permet de mieux gérer le trafic des requêtes. Grâce aux exemples de code ci-dessus, les lecteurs peuvent mieux comprendre comment utiliser ces outils pour mettre en œuvre le processus de livraison continue.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn