Maison développement back-end tutoriel php La combinaison parfaite de Docker Compose, Nginx et MariaDB : bonnes pratiques pour déployer des applications PHP

La combinaison parfaite de Docker Compose, Nginx et MariaDB : bonnes pratiques pour déployer des applications PHP

Oct 12, 2023 am 11:24 AM
docker nginx mariadb

Docker Compose、Nginx和MariaDB的完美组合:部署PHP应用程序的最佳实践

La combinaison parfaite de Docker Compose, Nginx et MariaDB : Meilleures pratiques pour le déploiement d'applications PHP

Introduction :
Dans le développement d'applications Web modernes, l'utilisation de la technologie de conteneurisation est devenue une tendance. La technologie de conteneurisation peut regrouper une application et ses dépendances dans un seul conteneur, afin que l'application puisse s'exécuter dans n'importe quel environnement prenant en charge la technologie de conteneurisation. Docker est actuellement la technologie de conteneurisation la plus populaire, capable de simplifier le déploiement, la gestion et l'expansion des applications.

Pour les applications Web développées avec PHP, nous pouvons utiliser Docker Compose pour gérer plusieurs conteneurs, notamment Nginx, PHP, base de données, etc. Cet article expliquera comment utiliser Docker Compose, Nginx et MariaDB pour déployer et gérer une application PHP, et fournira des exemples de code spécifiques.

  1. Installer Docker et Docker Compose
    Tout d'abord, nous devons installer Docker et Docker Compose sur la machine hôte. Vous pouvez visiter le site officiel de Docker (https://www.docker.com/) pour télécharger et installer. Une fois l'installation terminée, nous pouvons confirmer que Docker est correctement installé en exécutant la commande suivante :

    docker --version
    docker-compose --version
    Copier après la connexion
  2. Créez un fichier Docker Compose
    Créez un fichier appelé docker-compose.yml dans le répertoire racine du projet pour définir le services applicatifs et configurations correspondantes. Voici un exemple de fichier docker-compose.yml simple :

    version: '3'
    services:
      web:
     build:
       context: .
       dockerfile: Dockerfile
     ports:
       - 80:80
     volumes:
       - ./src:/var/www/html
     depends_on:
       - db
      db:
     image: mariadb
     environment:
       MYSQL_ROOT_PASSWORD: 123456
       MYSQL_DATABASE: mydb
       MYSQL_USER: user
       MYSQL_PASSWORD: password
     volumes:
       - db-data:/var/lib/mysql
    volumes:
      db-data:
    Copier après la connexion

    Le fichier docker-compose.yml ci-dessus définit deux services, l'un est un service Web pour exécuter Nginx et PHP, et l'autre est un service de base de données pour Run MariaDB. . Le service Web expose le port 80 à l'hôte externe et mappe le dossier src du répertoire du projet au répertoire /var/www/html du conteneur. Le service db définit les variables d'environnement et les volumes de données de MariaDB pour le stockage persistant des données de base de données.

  3. Créer un Dockerfile
    Afin de créer l'image personnalisée requise pour le service Web, nous devons créer un fichier nommé Dockerfile dans le répertoire du projet. Voici un exemple de fichier Docker simple :

    FROM php:7.4-fpm
    RUN docker-php-ext-install pdo_mysql
    WORKDIR /var/www/html
    Copier après la connexion

    Le Dockerfile ci-dessus est basé sur l'image officielle php:7.4-fpm, a l'extension pdo_mysql installée et définit le répertoire de travail sur /var/www/html.

  4. Démarrez le conteneur
    Exécutez la commande suivante dans le répertoire racine du projet pour démarrer le conteneur :

    docker-compose up -d
    Copier après la connexion

    En exécutant la commande ci-dessus, Docker démarrera les services Web et db selon la configuration dans docker-compose Fichier .yml. Le paramètre -d indique l'exécution du conteneur en mode arrière-plan.

  5. Configuration de Nginx
    Pour que Nginx transmette correctement les requêtes à l'application PHP dans le service Web, nous devons ajouter les éléments de configuration suivants à la configuration de Nginx :

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

    Le fichier de configuration ci-dessus transmet la requête au Web service Exécutez le processus PHP-FPM et transmettez les variables d'environnement liées à PHP à PHP-FPM.

  6. Écriture d'une application PHP
    Écrivez le code de l'application PHP dans le dossier src sous le répertoire du projet. Ici, nous prenons comme exemple un simple programme Hello World :

    <?php
    echo "Hello World!";
    Copier après la connexion
  7. Accès à l'application
    Vous pouvez afficher l'application PHP en cours d'exécution dans le navigateur en accédant à http://localhost.

Résumé :
En utilisant une combinaison de Docker Compose, Nginx et MariaDB, nous pouvons facilement déployer et gérer des applications PHP. Docker Compose fournit un moyen simple et puissant de définir et d'exécuter plusieurs conteneurs, Nginx en tant que serveur Web peut gérer un grand nombre de requêtes simultanées et MariaDB fournit un service de base de données stable et fiable. Nous espérons que grâce à l'introduction et aux exemples de cet article, les lecteurs pourront mieux comprendre et appliquer ces technologies et en bénéficier dans des projets réels.

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment lire la version docker Comment lire la version docker Apr 15, 2025 am 11:51 AM

Pour obtenir la version Docker, vous pouvez effectuer les étapes suivantes: exécutez la commande docker "docker --version" pour afficher les versions client et serveur. Pour Mac ou Windows, vous pouvez également afficher les informations de version via l'onglet Version de la GUI de bureau Docker ou du menu de bureau à propos de Docker.

Comment utiliser Docker Desktop Comment utiliser Docker Desktop Apr 15, 2025 am 11:45 AM

Comment utiliser Docker Desktop? Docker Desktop est un outil pour exécuter des conteneurs Docker sur les machines locales. Les étapes à utiliser incluent: 1. Installer Docker Desktop; 2. Démarrer Docker Desktop; 3. Créer une image Docker (à l'aide de DockerFile); 4. Build Docker Image (en utilisant Docker Build); 5. Exécuter Docker Container (à l'aide de Docker Run).

Comment créer un miroir dans Docker Comment créer un miroir dans Docker Apr 15, 2025 am 11:27 AM

Étapes pour créer une image docker: écrivez un dockerfile qui contient les instructions de construction. Créez l'image dans le terminal, en utilisant la commande docker build. Marquez l'image et attribuez des noms et des balises à l'aide de la commande docker tag.

Comment changer la source d'image Docker en Chine Comment changer la source d'image Docker en Chine Apr 15, 2025 am 11:30 AM

Vous pouvez passer à la source de miroir domestique. Les étapes sont les suivantes: 1. Modifiez le fichier de configuration /etc/docker/daemon.json et ajoutez l'adresse source miroir; 2. Après enregistrer et sortir, redémarrez le service Docker Sudo Systemctl Docker pour améliorer la vitesse et la stabilité du téléchargement d'image.

Comment vérifier le nom du conteneur Docker Comment vérifier le nom du conteneur Docker Apr 15, 2025 pm 12:21 PM

Vous pouvez interroger le nom du conteneur Docker en suivant les étapes: répertorier tous les conteneurs (Docker PS). Filtrez la liste des conteneurs (à l'aide de la commande grep). Obtient le nom du conteneur (situé dans la colonne "Noms").

Comment afficher les journaux de Docker Comment afficher les journaux de Docker Apr 15, 2025 pm 12:24 PM

Les méthodes pour afficher les journaux Docker incluent: à l'aide de la commande docker logs, par exemple: docker logs contener_name Utilisez la commande docker exec pour exécuter / bin / sh et afficher le fichier journal, par exemple: docker exec -it contener_name / bin / sh; Cat /var/log/continer_name.log Utilisez la commande docker-compose JORS de Docker Compose, par exemple: docker-compose -f docker-com

Comment mettre à jour l'image de Docker Comment mettre à jour l'image de Docker Apr 15, 2025 pm 12:03 PM

Les étapes pour mettre à jour une image Docker sont les suivantes: Tirez la dernière étiquette d'image Nouvelle image Supprimer l'ancienne image pour une balise spécifique (facultative) Redémarrez le conteneur (si nécessaire)

Comment démarrer un conteneur par Docker Comment démarrer un conteneur par Docker Apr 15, 2025 pm 12:27 PM

Étapes de démarrage du conteneur Docker: Tirez l'image du conteneur: Exécutez "Docker Pull [Mirror Name]". Créer un conteneur: utilisez "Docker Create [Options] [Mirror Name] [Commandes et paramètres]". Démarrez le conteneur: exécutez "docker start [nom de conteneur ou id]". Vérifiez l'état du conteneur: vérifiez que le conteneur s'exécute avec "Docker PS".

See all articles