Maison > développement back-end > tutoriel php > Accélérez le déploiement d'applications PHP avec Docker Compose, Nginx et MariaDB

Accélérez le déploiement d'applications PHP avec Docker Compose, Nginx et MariaDB

WBOY
Libérer: 2023-10-12 08:36:02
original
1037 Les gens l'ont consulté

使用Docker Compose、Nginx和MariaDB加速PHP应用程序的部署速度

Titre : Accélérer le déploiement d'applications PHP à l'aide de Docker Compose, Nginx et MariaDB

Introduction : Avec l'application généralisée du cloud computing et de la technologie des conteneurs, de plus en plus de développeurs s'intéressent à la manière de déployer et de faire évoluer rapidement les programmes d'applications. . Dans le développement PHP, l'utilisation de Docker Compose, Nginx et MariaDB peut considérablement accélérer le déploiement d'applications. Cet article expliquera comment utiliser ces outils pour créer et gérer rapidement l'environnement de développement d'applications PHP.

1. Introduction à Docker Compose

Docker Compose est un outil permettant de définir et d'exécuter des applications Docker multi-conteneurs. Avec un fichier de configuration pour gérer les paramètres de tous les conteneurs, nous pouvons utiliser Docker Compose pour définir, exécuter et arrêter l'ensemble de l'application en même temps. L'utilisation de Docker Compose simplifie considérablement le processus de déploiement et fournit des capacités d'orchestration et de mise à l'échelle des conteneurs.

2. Nginx en tant que serveur Web

Nginx est un serveur Web open source et un serveur proxy inverse hautes performances. Il peut gérer un grand nombre de connexions simultanées tout en fournissant des fonctionnalités telles que l'équilibrage de charge, la mise à l'échelle de la capacité et la mise en cache du contenu statique. Dans les applications PHP, l'utilisation de Nginx comme serveur Web peut améliorer les performances et les capacités de traitement simultané de l'application.

Voici un exemple simple de configuration Docker Compose utilisant Nginx avec PHP-FPM (PHP FastCGI Process Manager) :

version: "3.7"
services:
  web:
    image: nginx:latest
    ports:
      - 80:80
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
      - ./code:/var/www/html
  php:
    image: php:latest
    volumes:
      - ./code:/var/www/html
Copier après la connexion

Dans la configuration ci-dessus, nous avons défini deux services : web et php. Le service Web utilise la mise en miroir Nginx et mappe le port 80 du conteneur au port 80 de l'hôte. En même temps, nous stockons le fichier de configuration Nginx nginx.conf et le code PHP dans le répertoire spécifié de la machine hôte. Le service php utilise l'image PHP et monte le répertoire de code dans le répertoire /var/www/html du conteneur.

3. Utilisez MariaDB comme base de données

MariaDB est un système de gestion de base de données relationnelle populaire. Il s'agit d'une branche de MySQL et offre des performances élevées, une haute disponibilité et des fonctions puissantes. Dans les applications PHP, l'utilisation de MariaDB comme base de données peut améliorer la vitesse d'accès aux données et les capacités de gestion des données.

Ce qui suit est un exemple simple de configuration Docker Compose, utilisant MariaDB avec Nginx et PHP-FPM mentionnés ci-dessus :

version: "3.7"
services:
  web:
    image: nginx:latest
    ports:
      - 80:80
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
      - ./code:/var/www/html
  php:
    image: php:latest
    volumes:
      - ./code:/var/www/html
  db:
    image: mariadb:latest
    environment:
      - MYSQL_ROOT_PASSWORD=yourpassword
    volumes:
      - ./data:/var/lib/mysql
Copier après la connexion

Dans la configuration ci-dessus, nous avons ajouté un service de base de données, utilisé le miroir MariaDB et configuré l'utilisateur root. mot de passe. En même temps, nous stockons les données de la base de données dans le répertoire /var/lib/mysql du conteneur.

4. Utilisez Docker Compose pour le déploiement et la gestion

Après avoir la configuration Docker Compose ci-dessus, nous pouvons utiliser les commandes suivantes pour déployer et gérer les applications PHP en un seul clic :

  1. Construire et démarrer le conteneur : Dans le package contenant docker L'exécution de la commande suivante dans le répertoire du fichier -compose.yml construira et démarrera tous les conteneurs.

    docker-compose up -d
    Copier après la connexion
  2. Arrêter les conteneurs : l'exécution de la commande suivante arrêtera tous les conteneurs.

    docker-compose down
    Copier après la connexion
  3. Service d'extension : Si vous avez besoin d'étendre le service web ou php, ajustez simplement le nombre de copies du service correspondant dans le fichier docker-compose.yml.

    version: "3.7"
    services:
      web:
        image: nginx:latest
        ports:
          - 80:80
        volumes:
          - ./nginx.conf:/etc/nginx/nginx.conf
          - ./code:/var/www/html
        scale: 3
      php:
        image: php:latest
        volumes:
          - ./code:/var/www/html
        scale: 3
    Copier après la connexion

    Ensuite, exécutez la commande suivante pour augmenter la capacité.

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

    En utilisant Docker Compose, Nginx et MariaDB, nous pouvons rapidement créer et gérer l'environnement de développement d'applications PHP, et pouvons facilement déployer et développer. Cette approche accélère non seulement le déploiement des applications, mais offre également de meilleures performances et évolutivité.

    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!

Étiquettes associées:
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal