Maison développement back-end tutoriel php Meilleures pratiques pour Docker Compose, Nginx et MariaDB : surveillance et optimisation des applications PHP déployées

Meilleures pratiques pour Docker Compose, Nginx et MariaDB : surveillance et optimisation des applications PHP déployées

Oct 12, 2023 pm 02:19 PM
docker nginx mariadb

Docker Compose、Nginx和MariaDB的最佳实践:部署PHP应用程序的监控与优化

Meilleures pratiques pour Docker Compose, Nginx et MariaDB : surveillance et optimisation des applications PHP déployées

Introduction :
Dans le développement d'applications modernes, la conteneurisation est devenue un moyen populaire pour nous aider à mieux gérer et déployer des applications efficacement. Docker Compose est un outil permettant de définir et d'exécuter plusieurs conteneurs, ce qui simplifie le processus de déploiement et de gestion des applications. Cet article expliquera comment utiliser Docker Compose combiné avec Nginx et MariaDB pour déployer et optimiser des applications PHP, et donnera des exemples de code spécifiques.

  1. Préparation :
    Avant de commencer, assurez-vous que Docker et Docker Compose ont été installés, et récupérez l'image PHP.
  2. Créer un fichier Docker Compose :
    Créez un fichier nommé docker-compose.yml et définissez la configuration du conteneur dans le fichier. Voici un exemple :
version: '3'
services:
  nginx:
    image: nginx
    ports:
      - "80:80"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
    depends_on:
      - php
  php:
    image: php:7.4-fpm
    volumes:
      - ./php.ini:/usr/local/etc/php/php.ini
      - ./app:/var/www/html
    depends_on:
      - mariadb
  mariadb:
    image: mariadb
    environment:
      - MYSQL_ROOT_PASSWORD=123456
    volumes:
      - ./data:/var/lib/mysql
Copier après la connexion

Dans cet exemple, nous avons trois services définis : nginx, php et mariadb. Le service nginx écoutera le port 80 de l'hôte et transmettra la demande au service php pour traitement. Le service php utilise l'image php:7.4-fpm et monte les répertoires php.ini et des fichiers d'application. Le service mariadb utilise le miroir mariadb, définit le mot de passe root de la base de données et monte le répertoire de données.

  1. Configurer Nginx :
    Dans l'étape précédente, nous avons défini le service Nginx et monté un fichier de configuration nommé nginx.conf. Nous devons créer ce fichier sur la machine hôte et le configurer dans le fichier. Voici un exemple simple de configuration nginx.conf :
worker_processes auto;
events {
    worker_connections 1024;
}
http {
    # 其他配置项省略
    server {
        listen 80;
        server_name localhost;
        root /var/www/html;
        location / {
            try_files $uri $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;
        }
    }
}
Copier après la connexion

Dans cet exemple, nous configurons le nombre de processus de travail Nginx, le nombre de connexions d'événements et le service http. Dans le bloc serveur, nous avons défini la méthode d'écoute du port 80, de définition du répertoire racine et de traitement des scripts PHP. Faites attention à modifier la directive fastcgi_pass en l'adresse du conteneur du service PHP.

  1. Configurer MariaDB :
    Dans l'étape précédente, nous avons défini le service MariaDB et défini le mot de passe root. Lors de la connexion à la base de données de votre application, vous devez utiliser l'adresse et le mot de passe corrects. Voici un exemple de code PHP pour se connecter à MariaDB :
<?php
$host = 'mariadb';
$user = 'root';
$password = '123456';
$database = 'mydb';

$conn = new mysqli($host, $user, $password, $database);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

echo "Connected successfully";

$conn->close();
?>
Copier après la connexion

Dans cet exemple, nous avons utilisé mariadb comme nom d'hôte et mot de passe root définis précédemment.

  1. Démarrez le conteneur :
    Après avoir terminé la configuration ci-dessus, nous pouvons utiliser la commande suivante pour démarrer le conteneur :
docker-compose up -d
Copier après la connexion

Cette commande démarrera tous les services définis et s'exécutera en arrière-plan.

  1. Surveillance et optimisation :
    Après le déploiement d'applications PHP via Docker Compose, la surveillance et l'optimisation sont également des éléments très importants. Voici quelques méthodes de surveillance et d'optimisation couramment utilisées :
  • Utilisez la commande docker stats pour vérifier l'utilisation des ressources de chaque conteneur, et vous pourrez détecter les anomalies et les goulots d'étranglement des performances à temps. docker stats命令查看各个容器的资源使用情况,可以及时发现异常和性能瓶颈。
  • 使用docker-compose logs
  • Utilisez la commande docker-compose logs pour afficher les informations de journal du conteneur afin de localiser rapidement les erreurs et les problèmes.
  • Utilisez des outils de surveillance tels que Prometheus et Grafana pour collecter et afficher des indicateurs de performance des applications afin que des mesures puissent être prises en temps opportun.
  • Pour l'optimisation des applications PHP, vous pouvez envisager d'utiliser des mécanismes de mise en cache, d'optimiser les requêtes de base de données, d'ajuster les paramètres de configuration PHP, etc.


Conclusion :

Cet article explique comment utiliser Docker Compose, Nginx et MariaDB pour déployer et optimiser des applications PHP, en donnant des exemples de code spécifiques. Grâce au déploiement conteneurisé, nous pouvons facilement gérer et développer les applications, et améliorer les performances et la stabilité des applications grâce à la surveillance et à l'optimisation. J'espère que cet article vous aidera lors du déploiement d'applications PHP. 🎜

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

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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 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 sortir du conteneur par Docker Comment sortir du conteneur par Docker Apr 15, 2025 pm 12:15 PM

Quatre façons de quitter Docker Container: Utilisez Ctrl D dans le terminal de conteneur Entrez la commande d'exit dans le terminal de conteneur Utilisez Docker Stop & lt; contener_name & gt; Commande utilise docker kill & lt; contener_name & gt; commande dans le terminal hôte (sortie de force)

Comment redémarrer Docker Comment redémarrer Docker Apr 15, 2025 pm 12:06 PM

Comment redémarrer le conteneur Docker: Obtenez l'ID de conteneur (Docker PS); Arrêtez le conteneur (docker stop & lt; contener_id & gt;); Démarrer le conteneur (docker start & lt; contener_id & gt;); Vérifiez que le redémarrage réussit (Docker PS). Autres méthodes: Docker Compose (redémarrage Docker-Compose) ou API Docker (voir Docker Documentation).

Comment copier des fichiers dans Docker à l'extérieur Comment copier des fichiers dans Docker à l'extérieur Apr 15, 2025 pm 12:12 PM

Méthodes de copie de fichiers en hôtes externes dans Docker: Utilisez la commande docker cp: exécuter docker cp [options] & lt; Container Path & gt; & lt; Host Path & gt;. Utilisation de volumes de données: créez un répertoire sur l'hôte et utilisez le paramètre -v pour monter le répertoire dans le conteneur lors de la création du conteneur pour obtenir la synchronisation de fichiers bidirectionnels.

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 afficher le processus Docker Comment afficher le processus Docker Apr 15, 2025 am 11:48 AM

Méthode de visualisation du processus docker: 1. Commande Docker CLI: Docker PS; 2. Commande CLI Systemd: Docker d'état SystemCTL; 3. Docker Compose CLI Commande: Docker-Compose PS; 4. Process Explorer (Windows); 5. / Répertoire proc (Linux).

Que faire si l'image Docker échoue Que faire si l'image Docker échoue Apr 15, 2025 am 11:21 AM

Dépannage des étapes pour la construction d'image Docker échouée: cochez la syntaxe Dockerfile et la version de dépendance. Vérifiez si le contexte de construction contient le code source et les dépendances requis. Affichez le journal de construction pour les détails d'erreur. Utilisez l'option - cibler pour créer une phase hiérarchique pour identifier les points de défaillance. Assurez-vous d'utiliser la dernière version de Docker Engine. Créez l'image avec --t [Image-Name]: Debug Mode pour déboguer le problème. Vérifiez l'espace disque et assurez-vous qu'il est suffisant. Désactivez SELINUX pour éviter les interférences avec le processus de construction. Demandez de l'aide aux plateformes communautaires, fournissez Dockerfiles et créez des descriptions de journaux pour des suggestions plus spécifiques.

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").

See all articles