Table des matières
Première partie : configuration de l'environnement
Maison développement back-end tutoriel php Créez des clusters d'applications PHP évolutifs à l'aide de Docker Compose, Nginx et MariaDB

Créez des clusters d'applications PHP évolutifs à l'aide de Docker Compose, Nginx et MariaDB

Oct 12, 2023 pm 01:39 PM
docker nginx mariadb

使用Docker Compose、Nginx和MariaDB构建可伸缩的PHP应用程序集群

Créez des clusters d'applications PHP évolutifs à l'aide de Docker Compose, Nginx et MariaDB

Citation :
Dans le développement d'applications modernes, la création de clusters d'applications évolutifs est cruciale. En utilisant Docker Compose, Nginx et MariaDB, nous pouvons facilement créer un cluster d'applications PHP évolutif qui offre une haute disponibilité et une flexibilité à nos applications. Dans cet article, nous explorerons comment utiliser ces outils pour créer un cluster d'applications PHP simple mais puissant, et fournirons des exemples de code concrets.

Première partie : configuration de l'environnement

Avant de commencer, nous devons nous assurer que Docker et Docker Compose ont été installés. Ouvrez un terminal dans votre environnement de développement et exécutez la commande suivante pour vérifier s'ils sont correctement installés :

$ docker --version
$ docker-compose --version
Copier après la connexion

Si les informations de version correspondantes sont renvoyées, Docker et Docker Compose ont été installés avec succès. Ensuite, nous allons créer un nouveau répertoire de projet et y créer un fichier docker-compose.yml.

$ mkdir my-php-cluster
$ cd my-php-cluster
$ touch docker-compose.yml
Copier après la connexion

Deuxième partie : écriture du fichier Docker Compose
Ensuite, nous définirons la configuration de notre cluster d'applications dans le fichier docker-compose.yml. Cette configuration inclura des définitions de services pour PHP, Nginx et MariaDB. Voici un exemple de fichier docker-compose.yml de base :

version: '3'

services:
  php:
    build:
      context: .
      dockerfile: Dockerfile.php
    restart: always
    ports:
      - "8000:80"
  nginx:
    build:
      context: .
      dockerfile: Dockerfile.nginx
    restart: always
    ports:
      - "80:80"
    depends_on:
      - php
  db:
    image: mariadb
    command: --default-authentication-plugin=mysql_native_password
    restart: always
    ports:
      - "3306:3306"
    environment:
      MYSQL_ROOT_PASSWORD: secret
Copier après la connexion

Dans cet exemple, nous avons trois services définis : php, nginx et db. Le service php construira une image Docker contenant PHP et mappera le port au port 8000 de l'hôte. Le service nginx construira une image Docker contenant Nginx et mappera le port au port 80 de l'hôte. Le service db utilisera l'image Docker officiellement fournie par MariaDB et mappera le port au port 3306 de l'hôte. Enfin, nous spécifions également la variable d'environnement du service db, qui est utilisée pour définir le mot de passe root.

Partie 3 : Écriture d'un fichier Docker
Pour que notre image soit construite avec succès, nous devons également écrire un fichier Docker.

Tout d'abord, nous créons un fichier appelé Dockerfile.php et copions le contenu suivant dans le fichier :

FROM php:7.4-fpm

WORKDIR /var/www/html

RUN apt-get update && apt-get install -y 
    libzip-dev 
    zip 
    unzip 
    && docker-php-ext-install zip

COPY . .

RUN composer install --no-dev
Copier après la connexion

Ce Dockerfile utilise l'image officielle PHP 7.4 FPM comme image de base et installe quelques extras via les dépendances de la commande RUN. Nous avons ensuite copié l'intégralité du répertoire de l'application dans le répertoire /var/www/html du conteneur et exécuté la commande composer install pour installer les dépendances PHP.

Ensuite, nous créons un fichier nommé Dockerfile.nginx et copions le contenu suivant dans le fichier :

FROM nginx:latest

COPY nginx.conf /etc/nginx/nginx.conf
Copier après la connexion

Ce Dockerfile utilise la dernière image officielle de Nginx comme image de base et ajoute le fichier nginx.conf personnalisé. Copiez-le dans le /etc /nginx/ répertoire du conteneur.

Partie 4 : Créer un fichier de configuration Nginx
Dans notre Dockerfile, nous avons mentionné un fichier de configuration appelé nginx.conf. Maintenant, nous créons un fichier appelé nginx.conf et copions le contenu suivant dans le fichier :

events {}

http {
  upstream php {
    server php:9000;
  }

  server {
    listen 80;

    location / {
      proxy_pass http://php;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto $scheme;
    }
  }
}
Copier après la connexion

Ce fichier de configuration nginx.conf définit un serveur en amont appelé php qui transmettra les requêtes au service php Port 9000. Nous avons ensuite défini un bloc serveur qui écoute sur le port 80 et proxy toutes les requêtes vers le serveur PHP en amont.

Partie 5 : Exécution du cluster d'applications
Maintenant, nous avons terminé toute la configuration et pouvons démarrer notre cluster d'applications en exécutant la commande docker-compose up.

Dans le terminal, accédez au répertoire de notre projet et exécutez la commande suivante :

$ docker-compose up -d
Copier après la connexion

La commande ci-dessus démarrera notre cluster d'applications en arrière-plan. Veuillez patienter un moment jusqu'à ce que tous les services démarrent correctement.

Partie six : Test du cluster d'applications
Une fois notre cluster d'applications démarré avec succès, nous pouvons le tester en accédant à http://localhost via le navigateur.

Entrez http://localhost dans le navigateur et appuyez sur Entrée. Si tout va bien, vous devriez pouvoir voir votre application s'exécuter.

Partie 7 : Mise à l'échelle du cluster d'applications
En utilisant la fonctionnalité de mise à l'échelle de Docker Compose, nous pouvons facilement faire évoluer notre cluster d'applications.

Supposons que nous souhaitions augmenter le nombre d'instances du service php, nous pouvons exécuter la commande suivante :

$ docker-compose up -d --scale php=3
Copier après la connexion

La commande ci-dessus démarrera 3 instances php pour réaliser une expansion horizontale de notre cluster d'applications.

Conclusion :
En utilisant Docker Compose, Nginx et MariaDB, nous pouvons facilement créer un cluster d'applications PHP évolutif. Dans cet article, nous fournissons un exemple de base pour vous aider à démarrer, ainsi que des exemples de code détaillés. J'espère que cet article vous a été utile et vous a inspiré pour créer un cluster d'applications plus puissant.

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

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

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 créer un miroir dans Docker Comment créer un miroir dans Docker Apr 15, 2025 am 11:27 AM

Étapes pour créer une image docker: écrivez un dockerfile qui contient les instructions de construction. Créez l'image dans le terminal, en utilisant la commande docker build. Marquez l'image et attribuez des noms et des balises à l'aide de la commande docker tag.

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

Comment lire la version docker Comment lire la version docker Apr 15, 2025 am 11:51 AM

Pour obtenir la version Docker, vous pouvez effectuer les étapes suivantes: exécutez la commande docker "docker --version" pour afficher les versions client et serveur. Pour Mac ou Windows, vous pouvez également afficher les informations de version via l'onglet Version de la GUI de bureau Docker ou du menu de bureau à propos de Docker.

Comment enregistrer l'image docker Comment enregistrer l'image docker Apr 15, 2025 am 11:54 AM

Pour enregistrer l'image dans Docker, vous pouvez utiliser la commande docker commit pour créer une nouvelle image, contenant l'état actuel du conteneur spécifié, Syntaxe: Docker Commit [Options] Nom d'image de l'ID de conteneur. Pour enregistrer l'image dans le référentiel, vous pouvez utiliser la commande docker push, Syntax: Docker Push Image Name [: Tag]. Pour importer des images enregistrées, vous pouvez utiliser la commande docker pull, syntaxe: docker pull name [: tag].

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)

See all articles