Maison  >  Article  >  développement back-end  >  Automatisez le processus de déploiement d'applications PHP à l'aide de Docker Compose, Nginx et MariaDB

Automatisez le processus de déploiement d'applications PHP à l'aide de Docker Compose, Nginx et MariaDB

WBOY
WBOYoriginal
2023-10-12 08:27:111069parcourir

使用Docker Compose、Nginx和MariaDB实现PHP应用程序的自动化部署流程

Titre : Utilisez Docker Compose, Nginx et MariaDB pour automatiser le processus de déploiement d'applications PHP

Résumé : Cet article vise à présenter comment utiliser Docker Compose, Nginx et MariaDB pour automatiser le déploiement d'applications PHP. Nous utiliserons Docker Compose pour gérer les applications conteneurisées et Nginx comme serveur proxy inverse tout en s'intégrant à la base de données MariaDB. L'article fournira des exemples de code spécifiques pour aider les lecteurs à mettre en œuvre le processus de déploiement automatisé.


  1. Introduction

Dans les méthodes de déploiement traditionnelles, la configuration, l'installation et la gestion de l'environnement du serveur peuvent être très lourdes. L'utilisation de Docker Compose peut simplifier ce processus, nous permettant de déployer des applications de manière rapide et fiable.

  1. Installer Docker et Docker Compose

Tout d'abord, nous devons installer Docker et Docker Compose sur le serveur cible. Veuillez vous référer à la documentation officielle de Docker pour les méthodes d'installation spécifiques.

  1. Créer un fichier Docker Compose

Créez un fichier appelé docker-compose.yaml dans le répertoire racine du projet, qui définira les services que nous allons déployer et les interdépendances entre eux.

version: '3'

services:
  nginx:
    image: nginx:latest
    ports:
      - "80:80"
    volumes:
      - ./nginx/conf.d:/etc/nginx/conf.d
    depends_on:
      - php
  php:
    image: php:7.4-fpm
    volumes:
      - ./php/app:/var/www/html
  db:
    image: mariadb:latest
    environment:
      - MYSQL_ROOT_PASSWORD=password
      - MYSQL_DATABASE=app
      - MYSQL_USER=app_user
      - MYSQL_PASSWORD=app_password
    volumes:
      - ./db/data:/var/lib/mysql

Le fichier Docker Compose ci-dessus définit trois services : nginx, php et db. Le service Nginx est responsable du proxy inverse et du service de fichiers statiques, le service PHP exécute notre application et le service DB est la base de données MariaDB.

  1. Créer le fichier de configuration Nginx

Créez un répertoire nommé nginx dans le répertoire racine du projet, et créez un répertoire conf.d dans ce répertoire. Créez un fichier nommé default.conf dans le répertoire conf.d, qui définira le proxy inverse et le service de fichiers statiques de Nginx.

server {
    listen 80;
    server_name localhost;

    root /var/www/html/public;

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

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

La clé du fichier de configuration Nginx ci-dessus est de transmettre la requête vers le port 9000 sur le conteneur PHP, permettant ainsi au code PHP d'être analysé et exécuté.

  1. Créer une application PHP

Créez un répertoire appelé php dans le répertoire racine du projet et écrivez notre application PHP dans ce répertoire.

  1. Démarrez l'application

Maintenant que nous avons terminé tous les préparatifs pour le processus de déploiement automatisé, nous pouvons utiliser la commande suivante pour démarrer l'application.

docker-compose up -d

Cette commande lira la configuration à partir du fichier docker-compose.yaml et créera et exécutera automatiquement les conteneurs Docker requis.

  1. Accédez à l'application

Entrez l'adresse IP ou le nom de domaine du serveur dans votre navigateur et vous pourrez accéder à notre application.


Cet article explique comment utiliser Docker Compose, Nginx et MariaDB pour réaliser un déploiement automatisé d'applications PHP. Nous utilisons Docker Compose pour gérer les applications conteneurisées et utilisons Nginx comme serveur proxy inverse à intégrer à la base de données MariaDB. Grâce à des exemples de code spécifiques, les lecteurs peuvent mieux comprendre et mettre en œuvre le processus de déploiement automatisé. Cette solution de déploiement automatisé peut améliorer l'efficacité du développement et réduire la difficulté de configuration et de gestion du système, et constitue un élément important du développement de logiciels modernes.

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

Articles Liés

Voir plus