Maison > Article > développement back-end > Automatisez le processus de déploiement d'applications PHP à l'aide de Docker Compose, Nginx et MariaDB
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é.
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.
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.
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.
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é.
Créez un répertoire appelé php dans le répertoire racine du projet et écrivez notre application PHP dans ce répertoire.
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.
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!