Maison  >  Article  >  développement back-end  >  Surveillance automatisée des applications PHP avec Docker Compose, Nginx et MariaDB

Surveillance automatisée des applications PHP avec Docker Compose, Nginx et MariaDB

王林
王林original
2023-10-12 10:46:441105parcourir

通过Docker Compose、Nginx和MariaDB实现PHP应用程序的自动化监控

Surveillance automatisée des applications PHP via Docker Compose, Nginx et MariaDB

Résumé : Avec la popularité du cloud computing et de la technologie des conteneurs, la surveillance automatisée est devenue l'une des compétences nécessaires pour le personnel de développement, d'exploitation et de maintenance. Cet article expliquera comment utiliser Docker Compose, Nginx et MariaDB pour réaliser une surveillance automatisée des applications PHP et fournira des exemples de code spécifiques.

  1. Introduction
    Avec le développement rapide d'Internet, de plus en plus d'entreprises et d'entreprises ont adopté PHP comme principal langage de développement. La gestion et la surveillance des applications PHP constituent souvent l'une des tâches les plus problématiques pour le personnel d'exploitation et de maintenance. Les méthodes de surveillance traditionnelles nécessitent une configuration et un déploiement manuels, ce qui représente une lourde charge de travail et est sujette aux erreurs. Heureusement, nous pouvons désormais exploiter des technologies telles que Docker Compose, Nginx et MariaDB pour automatiser la surveillance des applications PHP.
  2. Présentation et installation de Docker Compose
    Docker Compose est un outil permettant de définir et d'exécuter des applications Docker multi-conteneurs. Il utilise un fichier YAML pour configurer les services de l'application, qui sont ensuite gérés à l'aide d'outils de ligne de commande. Grâce à Docker Compose, nous pouvons facilement définir et gérer Nginx, MariaDB et d'autres conteneurs pour réaliser une surveillance automatisée. L'installation de Docker Compose est très simple. Il vous suffit de télécharger le fichier binaire du système d'exploitation correspondant depuis le site officiel puis d'effectuer l'installation.
  3. Configuration et utilisation de Nginx
    Nginx est un serveur HTTP et proxy inverse hautes performances qui peut gérer rapidement les fichiers statiques et les requêtes dynamiques. Nginx joue un rôle important dans la surveillance automatisée des applications PHP. Nous pouvons utiliser Docker Compose pour définir et exécuter des conteneurs Nginx, puis les configurer en fonction de nos propres besoins. Dans le fichier de configuration Nginx, nous pouvons définir des règles de routage d'URL, des stratégies de mise en cache, un équilibrage de charge, etc. pour réaliser une surveillance automatisée des applications. Voici un exemple simple de fichier de configuration Nginx :
server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://php-app:80;
    }

    location /status {
        stub_status;
    }
}

Dans le fichier de configuration ci-dessus, nous définissons un serveur nommé example.com et transmettons la requête au port 80 du conteneur nommé php-app. Nous avons également ajouté un chemin nommé /status pour obtenir des informations sur l'état de Nginx. Ce qui précède n'est qu'un exemple simple, en fonction des besoins réels, nous pouvons configurer et optimiser davantage Nginx.

  1. Configuration et utilisation de MariaDB
    MariaDB est un système de gestion de bases de données relationnelles open source populaire et une branche de MySQL. Dans la surveillance automatisée des applications PHP, MariaDB est utilisée pour stocker les données de l'application. Nous pouvons utiliser Docker Compose pour définir et exécuter le conteneur MariaDB, et définir le nom d'utilisateur, le mot de passe et les autorisations de la base de données via le fichier de configuration. Voici un exemple simple de fichier de configuration MariaDB :
version: '3'
services:
  db:
    image: mariadb
    command: --default-authentication-plugin=mysql_native_password
    environment:
      MYSQL_ROOT_PASSWORD: password
      MYSQL_DATABASE: myapp
      MYSQL_USER: myuser
      MYSQL_PASSWORD: mypassword
    volumes:
      - ./data:/var/lib/mysql

Dans le fichier de configuration ci-dessus, nous définissons un service nommé db et utilisons le miroir MariaDB. Nous définissons le mot de passe root, le nom et les informations utilisateur de la base de données et stockons les données dans le répertoire ./data. En fonction des besoins réels, nous pouvons configurer et optimiser davantage MariaDB.

  1. Déploiement et surveillance des applications PHP
    Après avoir terminé la configuration de Nginx et MariaDB, nous pouvons utiliser Docker Compose pour déployer et exécuter des applications PHP. Tout d'abord, nous devons placer le code de l'application dans un répertoire et ajouter un Dockerfile pour définir la configuration du conteneur. Voici un exemple simple de Dockerfile :
FROM php:7.4-apache
COPY src/ /var/www/html/

Ensuite, nous devons ajouter un service appelé php-app dans le fichier Docker Compose pour le connecter à Nginx et MariaDB. Voici un exemple simple de fichier Docker Compose :

version: '3'
services:
  nginx:
      # Nginx的配置
  db:
      # MariaDB的配置
  php-app:
    build:
      context: .
      dockerfile: Dockerfile
    volumes:
      - ./src:/var/www/html
    depends_on:
      - db

Dans le fichier de configuration ci-dessus, nous avons défini un service appelé php-app et utilisé le Dockerfile et le code d'application ci-dessus. Nous montons également le répertoire de code de l'application dans le répertoire /var/www/html du conteneur pour obtenir des mises à jour du code en temps réel. Enfin, nous utilisons le mot-clé depend_on pour connecter le service php-app au service db afin de garantir que l'application peut accéder à la base de données.

  1. Résumé
    Avec Docker Compose, Nginx et MariaDB, nous pouvons facilement mettre en œuvre une surveillance automatisée des applications PHP. Dans cet article, nous expliquons comment définir et exécuter des conteneurs pour les applications Nginx, MariaDB et PHP via Docker Compose, et fournissons des exemples de configuration et de code spécifiques. J'espère que cet article aidera les lecteurs dans la pratique et leur permettra de mieux appliquer la technologie de surveillance automatisée.

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:
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