Maison > Article > développement back-end > Optimiser le déploiement d'applications PHP à l'aide de Nginx et Docker Compose
Optimisez le déploiement d'applications PHP à l'aide de Nginx et Docker Compose
Introduction :
Avec le développement d'Internet et des applications Web, PHP, en tant que langage de programmation largement utilisé, est largement utilisé pour créer divers sites Web et applications. Cependant, les méthodes de déploiement traditionnelles peuvent être confrontées à certains défis, tels qu'une configuration d'environnement lourde, des conflits de versions et des difficultés d'extension de capacité. Dans ce cas, l'utilisation de Nginx et Docker Compose peut grandement simplifier le processus de déploiement d'applications PHP, améliorer la productivité des développeurs et la stabilité des applications.
1. Avantages et configuration de base de Nginx
Nginx est un serveur Web open source hautes performances et un serveur proxy inverse. Par rapport au serveur Apache traditionnel, Nginx a une consommation de mémoire inférieure, des capacités de traitement simultané plus élevées et de meilleures performances. Voici quelques avantages de Nginx :
Lors de la configuration de base de Nginx, vous pouvez créer un simple fichier nginx.conf et le configurer en conséquence, comme indiqué ci-dessous :
worker_processes auto; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; server { listen 80; server_name localhost; location / { root /usr/share/nginx/html; index index.php; } location ~ .php$ { root /usr/share/nginx/html; fastcgi_pass PHP_CONTAINER:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } }
Dans le fichier de configuration ci-dessus, il est configuré pour écouter le port 80 et spécifier le site Web. via root. Le répertoire racine et le nom du serveur sont localhost. Lorsqu'une requête se termine par .php, la requête est transmise à un conteneur PHP nommé PHP_CONTAINER et le nom de fichier demandé est transmis au conteneur PHP pour traitement.
2. Utilisation et exemples de Docker Compose
Docker Compose est un outil qui simplifie le déploiement d'applications conteneurisées et peut définir et gérer des applications dans plusieurs conteneurs. Docker Compose utilise un fichier YAML pour configurer les relations et les paramètres entre les conteneurs et fournit des commandes simples pour gérer ces conteneurs. Voici un exemple de fichier docker-compose.yml :
version: '3' services: web: build: . ports: - 80:80 volumes: - .:/usr/share/nginx/html depends_on: - php php: build: context: . dockerfile: Dockerfile-php volumes: - .:/var/www/html db: image: mysql:5.7 ports: - 3306:3306 environment: MYSQL_ROOT_PASSWORD: password MYSQL_DATABASE: mydatabase
Dans l'exemple ci-dessus, nous avons défini 3 services : web, php et db. Le service Web utilise Dockerfile pour créer le conteneur Nginx, mappe le répertoire actuel de l'hôte au répertoire /usr/share/nginx/html du conteneur et mappe le port 80 du conteneur au port 80 de l'hôte. Le service php utilise Dockerfile-php pour créer un conteneur PHP et mappe le répertoire actuel de l'hôte au répertoire /var/www/html du conteneur. Le service db utilise l'image mysql:5.7 pour créer le conteneur MySQL et mappe le port 3306 du conteneur au port 3306 de l'hôte.
3. Intégrer les applications Nginx et PHP dans Docker Compose
Ensuite, nous devons créer le Dockerfile correspondant pour créer des conteneurs Nginx et PHP. Voici un exemple de Dockerfile :
# 构建Nginx容器 FROM nginx:latest # 将宿主机的配置文件复制到容器中 COPY nginx.conf /etc/nginx/conf.d/default.conf # 定义容器启动时执行的命令 CMD ["nginx", "-g", "daemon off;"] # 构建PHP容器 FROM php:7.4-fpm # 安装PHP扩展和依赖库 RUN docker-php-ext-install pdo_mysql # 定义容器启动时执行的命令 CMD ["php-fpm"]
Dans l'exemple Dockerfile ci-dessus, nous construisons d'abord le conteneur Nginx à l'aide de l'image nginx:latest, copions le fichier de configuration de l'hôte dans le conteneur, puis utilisons l'image php:7.4-fpm pour construire Conteneur PHP et installé l'extension pdo_mysql et quelques autres bibliothèques dépendantes.
4. Utilisez Docker Compose pour déployer des applications PHP
Après avoir terminé la configuration et la définition ci-dessus, nous pouvons utiliser Docker Compose pour déployer des applications PHP. Tout d’abord, créez un fichier docker-compose.yml dans le répertoire racine de l’application et copiez-y le contenu de l’exemple ci-dessus. Ensuite, exécutez les commandes suivantes sur la ligne de commande pour créer et démarrer le conteneur :
docker-compose build docker-compose up -d
Ces commandes construiront l'image requise et démarreront le conteneur. En accédant à http://localhost, vous pouvez accéder à l'application PHP déployée.
Résumé :
L'utilisation de Nginx et Docker Compose pour optimiser le déploiement d'applications PHP peut grandement simplifier le processus de déploiement, améliorer la productivité des développeurs et la stabilité des applications. Nginx présente de nombreux avantages en tant que serveur Web hautes performances et serveur proxy inverse, et Docker Compose, en tant qu'outil de déploiement d'applications conteneurisées, peut gérer plus facilement plusieurs conteneurs. Déployer des applications PHP de cette manière rend le processus de développement plus efficace et facilite l'extension et la maintenance de l'application.
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!