Maison  >  Article  >  développement back-end  >  Processus de déploiement rapide des applications PHP utilisant Docker Compose, Nginx et MariaDB

Processus de déploiement rapide des applications PHP utilisant Docker Compose, Nginx et MariaDB

WBOY
WBOYoriginal
2023-10-12 15:12:111414parcourir

使用Docker Compose、Nginx和MariaDB实现PHP应用程序的快速部署流程

Utilisez Docker Compose, Nginx et MariaDB pour implémenter le processus de déploiement rapide des applications PHP

Résumé :
Cet article présentera comment utiliser Docker Compose, Nginx et MariaDB pour implémenter le processus de déploiement rapide des applications PHP. Nous utiliserons Docker Compose pour définir et gérer la configuration de l'application conteneurisée, Nginx comme serveur web et MariaDB comme base de données. En créant et en démarrant ces conteneurs, nous pouvons rapidement déployer et exécuter des applications PHP.

Introduction :
Avec le développement de la technologie du cloud computing et de la conteneurisation, il devient de plus en plus facile de déployer rapidement des applications. Grâce à Docker Compose, nous pouvons définir et gérer les conteneurs requis par notre application en écrivant un fichier de configuration YAML. Dans cet article, nous montrerons comment utiliser Docker Compose pour définir et déployer une application PHP contenant Nginx et MariaDB.

Étape 1 : Installez Docker et Docker Compose
Tout d'abord, assurez-vous que Docker et Docker Compose sont installés sur votre système. Vous pouvez le télécharger depuis le site officiel et suivre les instructions pour l'installer.

Étape 2 : Créer un répertoire de projet
Avant de commencer, créons un nouveau répertoire de projet. Dans ce répertoire, nous créerons un fichier appelé docker-compose.yml qui définira la configuration de notre application.

Étape 3 : Créer le fichier de configuration Docker Compose
Dans le répertoire du projet, créez un fichier appelé docker-compose.yml et utilisez l'exemple de code suivant comme modèle :

version: '3'
services:
  web:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "80:80"
    volumes:
      - ./app:/var/www/html
    depends_on:
      - db
  db:
    image: mariadb:latest
    environment:
      - MYSQL_ROOT_PASSWORD=123456
      - MYSQL_DATABASE=myapp
      - MYSQL_USER=myuser
      - MYSQL_PASSWORD=mypassword
    volumes:
      - ./data:/var/lib/mysql

Dans l'exemple ci-dessus, nous avons défini deux services : web et db. Le service Web est le service sur lequel réside notre application PHP, et un fichier appelé Dockerfile est utilisé pour créer le conteneur Web. Nous devons mapper le port local 80 au port 80 du conteneur et monter le code de l'application dans le répertoire /var/www/html du conteneur. Le service db est notre service de base de données MariaDB, qui utilise la dernière image mariadb:latest et définit le mot de passe root et le nom de la base de données.

Étape 4 : Créer un Dockerfile
Dans le répertoire du projet, créez un fichier appelé Dockerfile et utilisez l'exemple de code suivant comme modèle :

FROM php:7.4-fpm

RUN apt-get update && apt-get install -y 
    nginx 
    libmcrypt-dev 
    libjpeg-dev 
    libpng-dev 
    libfreetype6-dev 
    libxml2-dev 
    libzip-dev 
    zip 
    unzip

RUN docker-php-ext-install mysqli pdo pdo_mysql xml zip

COPY nginx.conf /etc/nginx/sites-available/default

WORKDIR /var/www/html

CMD service nginx start && php-fpm

Dans l'exemple ci-dessus, nous avons utilisé php:7.4-fpm comme image de base et installé quelques extensions PHP et Nginx. Nous copions également le fichier nginx.conf dans le répertoire /etc/nginx/sites-available/default du conteneur et définissons le répertoire de travail sur /var/www/html.

Étape 5 : Créer le fichier de configuration Nginx
Dans le répertoire du projet, créez un fichier appelé nginx.conf et utilisez l'exemple de code suivant comme modèle :

server {
    listen 80;
    server_name localhost;

    root /var/www/html;

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

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

Dans l'exemple ci-dessus, nous avons défini un simple serveur Nginx, écoutez port 80. Le répertoire racine est défini sur /var/www/html et la méthode de traitement des fichiers PHP est configurée.

Étape 6 : Construire et démarrer le conteneur
Dans le répertoire du projet, ouvrez un terminal et exécutez la commande suivante pour construire et démarrer le conteneur :

docker-compose up -d

Cette commande construira et démarrera le conteneur de l'application basée sur Docker Compose fichier de configuration. Pendant le processus de construction, Docker téléchargera et installera automatiquement les images et dépendances requises.

Étape 7 : Testez l'application
Vous pouvez maintenant tester votre application PHP en visitant http://localhost dans votre navigateur Web. Si tout va bien, vous verrez la page d'accueil de l'application.

Conclusion :
En utilisant Docker Compose, Nginx et MariaDB, nous pouvons déployer et exécuter rapidement des applications PHP. En définissant et en gérant la configuration des applications conteneurisées, nous pouvons simplifier et accélérer le processus de déploiement des applications. J'espère que cet article vous aidera à réaliser un déploiement rapide d'applications PHP.

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