Maison  >  Article  >  développement back-end  >  Réglage en ligne des applications PHP via Docker Compose, Nginx et MariaDB

Réglage en ligne des applications PHP via Docker Compose, Nginx et MariaDB

WBOY
WBOYoriginal
2023-10-12 12:30:391423parcourir

通过Docker Compose、Nginx和MariaDB实现PHP应用程序的线上调优

Réglage en ligne des applications PHP via Docker Compose, Nginx et MariaDB

Introduction :
L'optimisation des performances est un aspect très important lors du développement et du déploiement d'applications PHP. Afin de réaliser le réglage en ligne, nous pouvons utiliser des outils tels que Docker Compose, Nginx et MariaDB pour créer un environnement d'application PHP hautes performances. Cet article explique comment utiliser ces outils pour le réglage en ligne et fournit des exemples de code spécifiques pour guider les opérations pratiques.

1. Docker Compose
Docker Compose est un outil permettant de définir et d'exécuter des applications Docker multi-conteneurs. Il simplifie le déploiement et la gestion des applications et fournit une orchestration automatisée des conteneurs et une communication inter-conteneurs. Lors du réglage en ligne, nous pouvons utiliser Docker Compose pour gérer et planifier des applications PHP, des conteneurs Nginx et MariaDB.

Ce qui suit est un exemple de fichier Docker Compose simple pour configurer une application PHP, un environnement Nginx et MariaDB :

version: '3'
services:
  web:
    build: .
    ports:
      - 80:80
    links:
      - db
  db:
    image: mariadb
    environment:
      MYSQL_ROOT_PASSWORD: example

Dans cet exemple, nous définissons deux conteneurs : web et db. Le conteneur Web construira l'image Docker dans le répertoire actuel et mappera le port 80 du conteneur au port 80 de l'hôte, afin que nous puissions accéder à l'application PHP via le port 80 de l'hôte. Le conteneur de base de données utilise l'image officielle de MariaDB et définit le mot de passe de l'utilisateur root par exemple. Nous pouvons le modifier et l'élargir en fonction de la situation réelle.

2. Nginx
Nginx est un serveur Web et un serveur proxy inverse hautes performances qui peuvent acheminer et distribuer les requêtes via des fichiers de configuration. Lors du réglage en ligne, nous pouvons utiliser Nginx pour optimiser le traitement des requêtes et le service de fichiers statiques des applications PHP.

Voici un exemple de fichier de configuration Nginx simple pour transférer les requêtes d'application PHP vers un conteneur Web :

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://web;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Dans cet exemple, nous avons configuré Nginx pour écouter sur le port 80 et utiliser example.com comme nom de serveur. Pour toutes les requêtes, nous utilisons la directive proxy_pass pour transmettre la requête au conteneur nommé web. En définissant la directive proxy_set_header, nous pouvons transmettre les informations d'en-tête Host et X-Real-IP de la requête d'origine au conteneur Web. Vous pouvez configurer et optimiser en fonction des conditions réelles.

3. MariaDB
MariaDB est un système de gestion de base de données relationnelle open source, qui est une branche de MySQL. Lors du réglage en ligne, nous pouvons utiliser MariaDB pour optimiser les requêtes de base de données et le stockage des données des applications PHP.

Voici un exemple de code pour une application PHP simple utilisant MariaDB pour une requête de base de données :

<?php
$servername = "db";
$username = "root";
$password = "example";

try {
  $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  
  $stmt = $conn->prepare("SELECT * FROM customers");
  $stmt->execute();
  
  $result = $stmt->fetchAll(PDO::FETCH_ASSOC);
  print_r($result);
} catch(PDOException $e) {
  echo "Connection failed: " . $e->getMessage();
}
?>

Dans cet exemple, nous utilisons PDO pour nous connecter au conteneur de base de données nommé db et exécuter une requête simple. Vous pouvez le modifier et l'étendre en fonction de la situation réelle.

Conclusion :
En utilisant des outils tels que Docker Compose, Nginx et MariaDB, nous pouvons créer un environnement d'application PHP hautes performances et effectuer des réglages en ligne. Cet article fournit des exemples de code spécifiques pour guider la mise en œuvre pratique. Espérons que ces exemples vous aideront à optimiser et à améliorer vos applications PHP, en améliorant les performances et l'expérience utilisateur.

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