Maison développement back-end tutoriel php La combinaison parfaite de Docker Compose, Nginx et MariaDB : exploitez et maintenez efficacement les applications PHP

La combinaison parfaite de Docker Compose, Nginx et MariaDB : exploitez et maintenez efficacement les applications PHP

Oct 12, 2023 am 09:58 AM
docker nginx mariadb

Docker Compose、Nginx和MariaDB的完美结合:高效运维PHP应用程序

La combinaison parfaite de Docker Compose, Nginx et MariaDB : exploiter et maintenir efficacement les applications PHP

Introduction

Avec le développement rapide de la technologie du cloud computing et de la conteneurisation, Docker est devenu l'un des outils les plus populaires. Dans le développement et le déploiement d'applications PHP, l'utilisation de la combinaison de Docker Compose, Nginx et MariaDB peut fournir des solutions d'exploitation et de maintenance efficaces. Cet article explique comment utiliser cette combinaison pour déployer et gérer rapidement des applications PHP, et fournit des exemples de code spécifiques.

1. Docker Compose : Un outil d'orchestration de conteneurs simple et efficace

Docker Compose est un outil d'orchestration de conteneurs simple et efficace qui peut définir et gérer le déploiement de plusieurs conteneurs Docker via un fichier YAML. Avant d'utiliser Docker Compose, nous devons installer Docker et Docker Compose localement. Une fois installé, nous pouvons créer un fichier docker-compose.yml pour définir le conteneur de notre application PHP.

Par exemple, voici un exemple de fichier docker-compose.yml :

version: '3'
services:
  php:
    build:
      context: .
      dockerfile: Dockerfile
    restart: always
    ports:
      - 8000:80
    volumes:
      - ./src:/var/www/html
    depends_on:
      - mariadb
    links:
      - mariadb
  nginx:
    image: nginx:latest
    restart: always
    ports:
      - 80:80
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf
      - ./src:/var/www/html
    depends_on:
      - php
  mariadb:
    image: mariadb:latest
    restart: always
    ports:
      - 3306:3306
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_DATABASE=myapp
      - MYSQL_USER=myuser
      - MYSQL_PASSWORD=mypassword
    volumes:
      - ./data:/var/lib/mysql
Copier après la connexion

Dans l'exemple ci-dessus, nous avons défini trois services : php, nginx et mariadb. Le service php utilise notre Dockerfile personnalisé pour créer le conteneur. Il lie le port 8000 de l'hôte au port 80 du conteneur et monte le répertoire ./src de l'hôte dans le répertoire /var/www/html du conteneur. Le service nginx utilise directement l'image nginx officiellement fournie et lie le port 80 de l'hôte au port 80 du conteneur. Il monte également le répertoire ./src de l'hôte dans le répertoire /var/www/html du conteneur et personnalise la configuration nginx via le fichier ./nginx.conf. Le service mariadb utilise l'image mariadb officiellement fournie et lie le port 3306 de l'hôte au port 3306 du conteneur. Dans le même temps, nous avons également spécifié les variables d'environnement mariadb et le montage du volume.

2. Nginx : serveur Web hautes performances

Nginx est un serveur Web hautes performances et un serveur proxy inverse. Dans notre application PHP, l'utilisation de Nginx comme serveur Web frontal peut fournir une vitesse de réponse aux requêtes plus rapide et de meilleures capacités de traitement simultané. Nous pouvons déployer et gérer Nginx via des conteneurs Docker.

Par exemple, nous pouvons déployer Nginx en définissant le service nginx dans le fichier docker-compose.yml ci-dessus. Dans le même temps, vous pouvez personnaliser la configuration de Nginx en montant le fichier ./nginx.conf.

Voici un exemple de fichier nginx.conf simple :

worker_processes auto;
events {
    worker_connections 1024;
}
http {
    sendfile on;
    default_type application/octet-stream;
    server {
        listen 80;
        root /var/www/html;
        index index.php index.html index.htm;
        location / {
            try_files $uri $uri/ /index.php?$query_string;
        }
        location ~ .php$ {
            fastcgi_pass php:9000;
            fastcgi_index index.php;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_path_info;
        }
    }
}
Copier après la connexion

Dans l'exemple ci-dessus, nous avons défini une configuration de base du serveur Nginx. Nous avons défini le répertoire racine de Nginx sur /var/www/html, spécifié le fichier d'index par défaut et configuré les règles de traitement pour les fichiers PHP. Ici, nous transmettons le fichier PHP au port 9000 du service PHP via la directive fastcgi_pass.

3. MariaDB : système de gestion de base de données fiable

MariaDB est un système de gestion de base de données relationnelle compatible avec MySQL. Dans notre application PHP, nous pouvons utiliser MariaDB pour stocker et gérer des données. Le déploiement et la gestion de MariaDB via des conteneurs Docker peuvent fournir des services de base de données fiables.

Par exemple, déployez MariaDB en définissant le service mariadb dans le fichier docker-compose.yml ci-dessus. Dans le même temps, vous pouvez définir le mot de passe root, le nom de la base de données, le nom d'utilisateur et le mot de passe en spécifiant des variables d'environnement.

Ce qui précède présente les étapes de base et un exemple de code pour utiliser Docker Compose, Nginx et MariaDB afin d'exploiter et de maintenir efficacement les applications PHP. En utilisant cette combinaison, nous pouvons déployer et gérer rapidement des applications PHP et fournir un environnement d'exécution fiable et performant.

Résumé

Cet article explique comment utiliser une combinaison de Docker Compose, Nginx et MariaDB pour déployer et gérer rapidement des applications PHP. À travers des exemples de code concrets, nous montrons comment définir et gérer des conteneurs via les fichiers YAML de Docker Compose, comment utiliser Nginx comme serveur Web pour offrir de meilleures performances et comment utiliser MariaDB pour stocker et gérer des données. En utilisant cette combinaison, nous pouvons facilement atteindre l’objectif d’exploiter et de maintenir efficacement les applications PHP.

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.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

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)

Enseignement du nœud PI: Qu'est-ce qu'un nœud PI? Comment installer et configurer le nœud PI? Enseignement du nœud PI: Qu'est-ce qu'un nœud PI? Comment installer et configurer le nœud PI? Mar 05, 2025 pm 05:57 PM

Explication détaillée et guide d'installation pour les nœuds de pignon Cet article introduira l'écosystème de pignon en détail - nœuds PI, un rôle clé dans l'écosystème de pignon et fournir des étapes complètes pour l'installation et la configuration. Après le lancement du réseau de test de la blockchain pèse, les nœuds PI sont devenus une partie importante de nombreux pionniers participant activement aux tests, se préparant à la prochaine version du réseau principal. Si vous ne connaissez pas encore Pinetwork, veuillez vous référer à ce qu'est Picoin? Quel est le prix de l'inscription? PI Utilisation, exploitation minière et sécurité. Qu'est-ce que Pinetwork? Le projet Pinetwork a commencé en 2019 et possède sa pièce exclusive de crypto-monnaie PI. Le projet vise à en créer un que tout le monde peut participer

Comment installer Deepseek Comment installer Deepseek Feb 19, 2025 pm 05:48 PM

Il existe de nombreuses façons d'installer Deepseek, notamment: Compiler à partir de Source (pour les développeurs expérimentés) en utilisant des packages précompilés (pour les utilisateurs de Windows) à l'aide de conteneurs Docker (pour le plus pratique, pas besoin de s'inquiéter de la compatibilité), quelle que soit la méthode que vous choisissez, veuillez lire Les documents officiels documentent soigneusement et les préparent pleinement à éviter des problèmes inutiles.

Déployer des applications JavaEE à l'aide de conteneurs Docker Déployer des applications JavaEE à l'aide de conteneurs Docker Jun 05, 2024 pm 08:29 PM

Déployez des applications Java EE à l'aide de conteneurs Docker : créez un fichier Docker pour définir l'image, créez l'image, exécutez le conteneur et mappez le port, puis accédez à l'application dans le navigateur. Exemple d'application JavaEE : l'API REST interagit avec la base de données, accessible sur localhost après déploiement via Docker.

Comment installer l'extension Docker dans vscode Étapes pour installer l'extension Docker dans vscode Comment installer l'extension Docker dans vscode Étapes pour installer l'extension Docker dans vscode May 09, 2024 pm 03:25 PM

1. Tout d'abord, après avoir ouvert l'interface, cliquez sur le bouton icône d'extension à gauche 2. Ensuite, recherchez l'emplacement de la barre de recherche dans la page d'extension ouverte 3. Ensuite, entrez le mot Docker avec la souris pour trouver le plug-in d'extension 4. . Enfin, sélectionnez le plug-in cible et cliquez à droite. Cliquez simplement sur le bouton d'installation dans le coin inférieur.

L'accès au fichier du site WordPress est restreint: pourquoi mon fichier .txt n'est-il pas accessible via le nom de domaine? L'accès au fichier du site WordPress est restreint: pourquoi mon fichier .txt n'est-il pas accessible via le nom de domaine? Apr 01, 2025 pm 03:00 PM

L'accès au fichier du site WordPress est restreint: dépannage de la raison pour laquelle le fichier .txt ne peut pas être accessible récemment. Certains utilisateurs ont rencontré un problème lors de la configuration du nom de domaine commercial du programme MINI: � ...

Pourquoi une erreur se produit-elle lors de l'installation d'une extension à l'aide de PECL dans un environnement Docker? Comment le résoudre? Pourquoi une erreur se produit-elle lors de l'installation d'une extension à l'aide de PECL dans un environnement Docker? Comment le résoudre? Apr 01, 2025 pm 03:06 PM

Causes et solutions pour les erreurs Lors de l'utilisation de PECL pour installer des extensions dans un environnement Docker Lorsque nous utilisons un environnement Docker, nous rencontrons souvent des maux de tête ...

Comment faire coexister PHP5.6 et PHP7 via la configuration Nginx sur le même serveur? Comment faire coexister PHP5.6 et PHP7 via la configuration Nginx sur le même serveur? Apr 01, 2025 pm 03:15 PM

Exécuter plusieurs versions PHP simultanément dans le même système est une exigence commune, en particulier lorsque différents projets dépendent de différentes versions de PHP. Comment être sur la même chose ...

Comment exécuter le projet H5 Comment exécuter le projet H5 Apr 06, 2025 pm 12:21 PM

L'exécution du projet H5 nécessite les étapes suivantes: Installation des outils nécessaires tels que le serveur Web, Node.js, les outils de développement, etc. Créez un environnement de développement, créez des dossiers de projet, initialisez les projets et écrivez du code. Démarrez le serveur de développement et exécutez la commande à l'aide de la ligne de commande. Aperçu du projet dans votre navigateur et entrez l'URL du serveur de développement. Publier des projets, optimiser le code, déployer des projets et configurer la configuration du serveur Web.

See all articles