Maison > développement back-end > tutoriel php > Déploiement multiplateforme d'applications PHP avec Docker Compose, Nginx et MariaDB

Déploiement multiplateforme d'applications PHP avec Docker Compose, Nginx et MariaDB

WBOY
Libérer: 2023-10-12 15:52:01
original
1008 Les gens l'ont consulté

通过Docker Compose、Nginx和MariaDB实现PHP应用程序的跨平台部署

Le déploiement multiplateforme d'applications PHP via Docker Compose, Nginx et MariaDB nécessite des exemples de code spécifiques

Avec le développement du cloud computing et de la technologie de conteneurisation, le déploiement multiplateforme est devenu un sujet brûlant. Dans cet article, nous présenterons comment utiliser Docker Compose, Nginx et MariaDB pour réaliser un déploiement multiplateforme d'applications PHP et donnerons des exemples de code spécifiques.

Docker Compose est un outil permettant de définir et d'exécuter des applications Docker multi-conteneurs. Il utilise de simples fichiers YAML pour configurer les aspects service, réseau et stockage de l'application. Nginx est un serveur Web hautes performances et un serveur proxy inverse qui peut être utilisé pour distribuer le trafic vers plusieurs applications PHP conteneurisées. MariaDB est un système de gestion de base de données relationnelle open source qui peut être utilisé pour stocker des données d'application.

Tout d'abord, nous devons écrire un fichier de configuration Docker Compose pour définir les services de notre application PHP. Voici un exemple simple :

version: '3'

services:
  web:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - 80:80
    depends_on:
      - db

  db:
    image: mariadb
    environment:
      - MYSQL_ROOT_PASSWORD=123456
    volumes:
      - db_data:/var/lib/mysql

volumes:
  db_data:
Copier après la connexion

Dans le fichier de configuration ci-dessus, nous avons défini deux services : web et db. Le service Web est notre application PHP et utilise un fichier appelé Dockerfile pour créer l'image. Nous mappons le port 80 du conteneur sur le port 80 de l'hôte afin que notre application soit accessible en externe. Le service db utilise l'image officielle de MariaDB et définit le mot de passe root et le volume de données.

Ensuite, nous devons écrire un Dockerfile pour créer une image de notre application PHP. Voici un exemple simple :

FROM php:7.4-fpm

WORKDIR /app

COPY . /app

RUN apt-get update 
    && apt-get install -y nginx 
    && docker-php-ext-install pdo_mysql

CMD service nginx start && php-fpm

EXPOSE 80
Copier après la connexion

Dans le Dockerfile ci-dessus, nous construisons notre image basée sur l'image officielle php:7.4-fpm. Nous définissons le répertoire de travail sur /app et copions tous les fichiers du répertoire actuel dans le répertoire /app du conteneur. Ensuite, nous avons installé l'extension nginx et pdo_mysql à l'aide de la commande apt-get. Enfin, nous définissons la commande lors du démarrage du conteneur, y compris le démarrage de nginx et de php-fpm et l'ouverture du port 80.

Après avoir terminé la configuration ci-dessus, nous pouvons utiliser la commande suivante pour démarrer notre application PHP :

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

Cette commande créera et démarrera le conteneur de notre application PHP basé sur le fichier de configuration Docker Compose. Le paramètre -d indique l'exécution du conteneur en arrière-plan.

Une fois le conteneur démarré avec succès, nous pouvons visualiser notre application PHP en accédant à http://localhost via le navigateur. Nginx distribuera le trafic vers notre conteneur d'application PHP, et l'application se connectera ensuite à la base de données MariaDB pour récupérer et stocker les données.

Pour résumer, le déploiement multiplateforme d'applications PHP peut être facilement réalisé à l'aide de Docker Compose, Nginx et MariaDB. Le fichier docker-compose.yml peut définir les services de l'application et le Dockerfile peut créer l'image de l'application. Utilisez la commande Docker Compose pour lancer et gérer facilement les conteneurs de votre application. Cette solution de déploiement multiplateforme est non seulement simple et efficace, mais présente également une bonne évolutivité et maintenabilité.

Les exemples de code ci-dessus permettent d'utiliser Docker Compose, Nginx et MariaDB pour implémenter le déploiement multiplateforme d'applications PHP. J'espère que cela aide!

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