Maison > développement back-end > tutoriel php > Meilleures pratiques pour Docker Compose, Nginx et MariaDB : intégration de processus pour le déploiement d'applications PHP

Meilleures pratiques pour Docker Compose, Nginx et MariaDB : intégration de processus pour le déploiement d'applications PHP

王林
Libérer: 2023-10-12 14:40:02
original
1111 Les gens l'ont consulté

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

Meilleures pratiques pour Docker Compose, Nginx et MariaDB : intégration de processus pour le déploiement d'applications PHP

Introduction :
Avec le développement rapide de la technologie du cloud computing et de la conteneurisation, Docker est devenu la clé du développement et du déploiement modernes d'applications. manière importante. Parmi les nombreux outils Docker, Docker Compose, en tant qu'outil d'orchestration des services de conteneurs, est largement utilisé dans le déploiement et la gestion d'applications multi-conteneurs. Nginx et MariaDB, en tant que logiciels open source couramment utilisés, jouent également un rôle important dans de nombreux scénarios d'application.

Cet article expliquera comment intégrer Nginx et MariaDB via Docker Compose pour déployer des applications PHP. Nous l'expliquerons dans les étapes suivantes : préparation, création du fichier Docker Compose, écriture de la configuration Nginx, écriture de l'application PHP, démarrage du conteneur et accès à l'application.

1. Préparation
Avant de commencer, nous devons installer Docker et Docker Compose dans l'environnement local. Veuillez vous assurer que la dernière version de Docker et Docker Compose est correctement installée et fonctionne correctement sur le système.

2. Créez un fichier Docker Compose
Créez un fichier nommé docker-compose.yml dans le répertoire racine du projet. Ce fichier définira tous les services de conteneur dont nous avons besoin pour intégrer l'application.

version: '3'
services:
  web:
    build: .
    ports:
      - 80:80
    volumes:
      - ./app:/var/www/html
    depends_on:
      - db
  db:
    image: mariadb:latest
    environment:
      - MYSQL_ROOT_PASSWORD=secret
    volumes:
      - ./db:/var/lib/mysql
Copier après la connexion

Dans le fichier Docker Compose ci-dessus, deux services sont définis : web et db. Le service Web construira le code dans le répertoire actuel et mappera le port local 80 au port 80 du conteneur. La base de données de service utilise la dernière version de l'image MariaDB et la variable d'environnement MYSQL_ROOT_PASSWORD est définie pour définir le mot de passe root de la base de données.

3. Écrivez la configuration Nginx
Créez un fichier nommé nginx.conf dans le répertoire racine du projet et écrivez le contenu de la configuration Nginx. Voici un exemple de configuration de base de Nginx :

server {
    listen 80;
    server_name localhost;

    root /var/www/html/public;
    index index.php;

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

    location ~ .php$ {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}
Copier après la connexion

Dans le fichier de configuration Nginx ci-dessus, nous avons défini le port d'écoute comme 80 et le nom du serveur comme localhost. Le répertoire racine est désigné comme /var/www/html/public et index.php est défini comme fichier d'index par défaut. Dans le même temps, nous avons défini deux blocs d'emplacement, qui sont utilisés pour traiter les fichiers statiques et traiter les demandes de fichiers PHP.

4. Écrivez l'application PHP
Écrivez le code de l'application PHP dans le répertoire de l'application. Voici un simple programme Hello World à titre d'exemple. Créez un nouveau fichier nommé index.php et ajoutez le code suivant :

<?php
echo "Hello World!";
Copier après la connexion

5. Démarrez le conteneur
Dans le terminal, entrez le répertoire racine du projet et exécutez la commande suivante. pour démarrer le conteneur :

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

Cette commande construira et démarrera le conteneur en fonction de la définition dans le fichier Docker Compose. Attendez un moment. Une fois le conteneur démarré avec succès, vous verrez des informations de journal similaires à celles-ci :

Creating network "docker_default" with the default driver
Creating docker_web_1 ... done
Creating docker_db_1  ... done
Copier après la connexion

6. Accédez à l'application
Visitez http://localhost dans le navigateur, vous verrez la sortie "Hello World ! ", ce qui signifie que l'application PHP a été déployée avec succès.

7. Résumé
Grâce à l'introduction de cet article, nous avons appris comment intégrer et déployer des applications PHP via Docker Compose, Nginx et MariaDB. Cette intégration facilite la création et la gestion de services de conteneurs complexes ainsi que l'extension et l'ajustement faciles des composants d'application. Dans le même temps, cette méthode de déploiement offre également une bonne portabilité, nous permettant de migrer et de déployer facilement des applications dans différents environnements.

Veuillez noter que cet article ne fournit qu'un exemple de base et qu'il peut y avoir plus de configuration et d'ajustements dans le déploiement réel de l'application. Grâce à cet exemple, j'espère que les lecteurs pourront avoir une compréhension de base de l'intégration de Docker Compose, Nginx et MariaDB et effectuer d'autres ajustements flexibles dans les applications pratiques.

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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal