Maison  >  Article  >  développement back-end  >  Créer une architecture d'application PHP hautement disponible à l'aide de Docker Compose, Nginx et MariaDB

Créer une architecture d'application PHP hautement disponible à l'aide de Docker Compose, Nginx et MariaDB

王林
王林original
2023-10-12 09:19:411281parcourir

使用Docker Compose、Nginx和MariaDB构建高可用性的PHP应用程序架构

Créez une architecture d'application PHP hautement disponible à l'aide de Docker Compose, Nginx et MariaDB

Présentation :
Lors du développement et du déploiement d'applications PHP, il est très important de créer une architecture hautement disponible. En utilisant Docker Compose, Nginx et MariaDB, nous pouvons mettre en œuvre une architecture applicative fiable et évolutive. Cet article présentera comment utiliser ces outils pour créer une architecture d'application PHP hautement disponible et joindra des exemples de code spécifiques.

Étape 1 : Installer Docker et Docker Compose
Tout d'abord, nous devons installer Docker et Docker Compose. Veuillez choisir la méthode d'installation appropriée en fonction de votre système d'exploitation. Une fois l'installation terminée, confirmez que Docker et Docker Compose ont été installés avec succès et peuvent être exécutés à partir de la ligne de commande.

Étape 2 : Créer un fichier Docker Compose
Ensuite, nous allons créer un fichier appelé docker-compose.yml et y définir notre service. Voici le contenu d'un exemple de fichier docker-compose.yml :

version : '3'
services:
serveur web:

image: nginx:latest
ports:
  - 80:80
volumes:
  - ./nginx.conf:/etc/nginx/nginx.conf
  - ./public:/var/www/html/public
depends_on:
  - php

php:

image: php:7.4-fpm
volumes:
  - ./public:/var/www/html/public

base de données:

image: mariadb:latest
environment:
  - MYSQL_ROOT_PASSWORD=yourpassword
volumes:
  - ./data:/var/lib/mysql

Dans l'exemple ci-dessus, nous avons défini 3 services : serveur web, php et base de données. Correspond respectivement à Nginx, PHP et MariaDB.

Étape 3 : Configurer Nginx
Créez un fichier nommé nginx.conf et configurez-y Nginx. Voici un exemple de configuration simple :

events {}
http {

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;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME /var/www/html/public$fastcgi_script_name;
        fastcgi_param PHP_VALUE "variables_order=EGPCS";
    }
}

}

Dans l'exemple de configuration ci-dessus, nous avons spécifié que Nginx écoute sur le port 80 et transmet les requêtes au conteneur PHP-FPM.

Étape 4 : Écrire une application PHP
Maintenant, nous allons créer une application PHP simple pour tester notre architecture. Créez un fichier nommé index.php dans le répertoire public et écrivez-y le contenu suivant :

888d4e4795b3d36c41b1fa2340a9238a

Cet exemple d'application simple montrera la fonctionnalité des informations de configuration PHP. .

Étape 5 : Démarrez l'application
Une fois que tout est prêt, nous pouvons démarrer notre application en utilisant la commande suivante :

$ docker-compose up -d

Après avoir exécuté la commande, Docker téléchargera l'image requise et créera et démarrera conteneurs. Dans le même temps, Nginx écoutera le port 80 et transmettra la requête au conteneur PHP en cours d'exécution.

Étape 6 : Testez l'application
Maintenant, nous pouvons visiter http://localhost dans un navigateur Web et verrons les informations de configuration de PHP.

Conclusion :
En utilisant Docker Compose, Nginx et MariaDB, nous pouvons facilement créer une architecture d'application PHP hautement disponible. Cette architecture est évolutive et stable, et peut facilement intégrer d'autres composants et services. Que vous soyez dans un environnement de développement ou dans un environnement de production, vous pouvez bénéficier de l'utilisation de cette architecture.

J'espère que les exemples de code de cet article pourront vous aider à créer rapidement une architecture d'application PHP à haute disponibilité. Je vous souhaite du succès !

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