Maison >développement back-end >tutoriel php >Optimisation des problèmes de performances des applications PHP à l'aide de Docker Compose, Nginx et MariaDB
Optimisez les problèmes de performances des applications PHP à l'aide de Docker Compose, Nginx et MariaDB
Lors du développement et du déploiement d'applications PHP, des problèmes de performances sont souvent rencontrés. Pour résoudre ces problèmes, nous pouvons exploiter Docker Compose, Nginx et MariaDB pour optimiser les performances des applications.
Docker Compose est un outil permettant de définir et de gérer plusieurs conteneurs Docker. Cela nous aide à créer et exécuter facilement plusieurs conteneurs tels que Nginx, PHP et MariaDB. Alors que Nginx est un serveur Web hautes performances, MariaDB est une base de données relationnelle populaire.
Ce qui suit présentera en détail comment utiliser Docker Compose, Nginx et MariaDB pour optimiser les performances des applications PHP.
Tout d'abord, nous devons créer un fichier Docker Compose pour définir notre conteneur. Dans un fichier appelé docker-compose.yml, notre conteneur peut être défini comme suit :
version: '3' services: nginx: image: nginx:latest ports: - 80:80 volumes: - ./nginx.conf:/etc/nginx/nginx.conf - ./public:/var/www/html php: image: php:7.4-fpm volumes: - ./public:/var/www/html mariadb: image: mariadb:latest environment: MYSQL_ROOT_PASSWORD: root volumes: - ./data:/var/lib/mysql
Dans l'exemple ci-dessus, nous avons défini trois services : nginx, php et mariadb. Le service Nginx utilise la dernière version de l'image Nginx et mappe le port 80 de l'hôte au port 80 du conteneur. Nous avons également monté un fichier nginx.conf local dans le conteneur pour personnaliser la configuration Nginx. Le service PHP utilise l'image PHP 7.4-fpm et monte le répertoire ./public de l'hôte dans le répertoire /var/www/html du conteneur. Le service MariaDB utilise la dernière version de l'image MariaDB, définit le mot de passe de l'utilisateur root et monte le répertoire ./data de l'hôte dans le répertoire /var/lib/mysql du conteneur.
Ensuite, nous devons écrire le fichier de configuration Nginx. Créez un fichier nommé nginx.conf dans le même répertoire que le fichier docker-compose.yml et configurez-le selon l'exemple suivant :
user nginx; worker_processes auto; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; 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 php:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }
Dans l'exemple ci-dessus, nous avons défini un bloc serveur nommé localhost pour écouter le port 80. Le répertoire racine est défini sur /var/www/html et toutes les requêtes sont envoyées à index.php pour traitement. Dans le même temps, nous avons également configuré fastcgi_pass pour transmettre les requêtes PHP vers le port 9000 dans le conteneur php.
Maintenant, nous devons écrire une application PHP simple pour tester l'effet de l'optimisation des performances. Créez un fichier nommé index.php dans le répertoire ./public et ajoutez le contenu suivant :
<?php echo "Hello, Docker!"; ?>
Entrez le répertoire où se trouve le fichier docker-compose.yml dans le terminal et exécutez la commande suivante pour démarrer le conteneur :
docker-compose up -d
Cela démarrera et exécutera en arrière-plan tous les conteneurs que nous avons définis.
Maintenant, nous pouvons accéder à http://localhost dans le navigateur et nous devrions voir la sortie Bonjour, Docker !. Cela signifie que notre application PHP s'est exécutée avec succès.
En utilisant Docker Compose, Nginx et MariaDB, nous pouvons facilement créer et gérer plusieurs conteneurs, et utiliser Nginx comme serveur Web haute performance et MariaDB comme base de données. Cela peut grandement améliorer les performances de notre application PHP.
Il est à noter qu'il ne s'agit que d'un exemple, vous pouvez effectuer une optimisation plus avancée en fonction de vos propres besoins. Par exemple, utilisez des outils de mise en cache tels que Redis pour améliorer les performances, ou utilisez des outils d'équilibrage de charge pour équilibrer la charge.
Résumé
Utiliser Docker Compose, Nginx et MariaDB pour optimiser les problèmes de performances dans les applications PHP est une méthode relativement simple et efficace. En utilisant Docker pour gérer et déployer des conteneurs, nous pouvons facilement créer un environnement d'application PHP stable et performant. J'espère que l'introduction de cet article pourra vous être utile.
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!