LEMP¶
Dans cet article
Attention
LEMP est une pile technologique de développement web open‑source qui comprend le système d'exploitation Linux, le serveur web NGINX (prononcé « engine‑x »), la base de données MySQL, et le langage de script PHP.
- Linux fournit l'hébergement et la gestion du serveur.
- NGINX agit comme serveur web haute performance et serveur proxy.
- MySQL est une base de données relationnelle pour stocker et traiter les données.
- PHP est un langage de programmation utilisé pour créer des applications web dynamiques.
LEMP : Fonctionnalités principales¶
- Solution conteneurisée : La pile LEMP est disponible à la fois en déploiement classique et comme solution conteneurisée. Un conteneur Docker fournit l'isolation des composants et de leurs dépendances, créant un environnement identique pour le développement et la production.
- Haute performance : L'architecture orientée événements de NGINX lui permet de gérer efficacement des milliers de connexions simultanées. L'exécution optimisée de PHP via FastCGI assure un traitement rapide du contenu dynamique, et le cache avancé des fichiers statiques réduit la charge du serveur.
- Configuration flexible : LEMP offre la possibilité de configurer chaque composant. NGINX prend en charge des schémas de routage complexes, l'équilibrage de charge et le cache. MySQL permet d'ajuster finement les performances et les paramètres de sécurité. PHP peut être configuré pour des besoins d'application spécifiques avec l'option d'inclure les extensions nécessaires et d'optimiser l'utilisation de la mémoire.
- Multifonctionnalité : PHP 8.3 est livré avec un ensemble de fonctionnalités pour le développement web moderne. Il prend en charge le travail avec divers formats de données, le chiffrement et les protocoles réseau. MySQL fournit un stockage de données fiable avec prise en charge des transactions, des requêtes complexes et de la réplication. NGINX offre des capacités avancées pour le routage des requêtes, la terminaison SSL et la gestion du contenu multimédia.
- Sécurité : LEMP inclut un système de sécurité à plusieurs couches. NGINX protège contre les attaques DDoS et autres menaces web. MySQL offre une gestion flexible des permissions utilisateur et le chiffrement des données. PHP est configuré en tenant compte des exigences de sécurité modernes. La conteneurisation fournit un niveau supplémentaire d'isolation, empêchant les vulnérabilités d'un composant d'affecter les autres.
- Scalabilité : L'architecture LEMP permet une mise à l'échelle efficace des applications. NGINX prend en charge la distribution de charge entre plusieurs serveurs. MySQL fournit la réplication des données et le sharding pour de grands ensembles de données. PHP‑FPM permet un contrôle précis du nombre de processus de travail. La conteneurisation simplifie le déploiement d'instances d'application supplémentaires à mesure que la charge augmente.
- Facilité des mises à jour : La mise à jour des composants LEMP peut être effectuée indépendamment. NGINX et PHP prennent en charge les mises à jour sans interrompre l'opération du service. MySQL fournit des outils pour des mises à jour sécurisées de la base de données. Avec les conteneurs, il est possible de tester les mises à jour dans un environnement isolé avant de les appliquer en production.
Fonctionnalités de déploiement¶
| ID | Nom du logiciel | Système d'exploitation compatible | VM | BM | VGPU | GPU | Min CPU (Cœurs) | Min RAM (Go) | Min HDD/SSD (Go) | Actif |
|---|---|---|---|---|---|---|---|---|---|---|
| 21 | LEMP | Ubuntu 22.04 | + | + | + | + | 1 | 1 | - | COMMANDER |
La pile est déployée dans un conteneur Docker en utilisant l'image adhocore/lemp:8.3. Les répertoires suivants sont utilisés pour le stockage des données :
- /root/data pour les fichiers de base de données;
- /root/webroot pour les fichiers du site web.
Note
Pour travailler avec MySQL, vous devez vous connecter via le conteneur Docker, car le client MySQL n'est pas installé sur le système hôte. Utilisez la commande suivante :
Note
À moins d'indication contraire, par défaut nous installons la dernière version stable du logiciel depuis le site du développeur ou depuis les dépôts de l'OS.
Une fois votre commande payée, vous recevrez une notification par e‑mail à l’adresse que vous avez fournie lors de l’inscription, vous informant que votre serveur est prêt à être utilisé. Cet e‑mail contiendra votre adresse IP VPS, votre login et votre mot de passe pour vous connecter.
Nos clients d'entreprise gèrent leur équipement via le panneau de contrôle serveur et l'API — Invapi. Vous pouvez trouver l’adresse IP du serveur dans l’onglet « Réseau ». Un guide détaillé sur la gestion des paramètres réseau est disponible ici.
-
Login and Password for connecting to the server via SSH: fourni dans la notification par e‑mail envoyée à votre adresse e‑mail enregistrée une fois que le serveur est prêt après le déploiement du logiciel. Le mot de passe pour se connecter à la base de données est le même que le mot de passe de connexion SSH du serveur.
-
NGINX:
- Le serveur Web est accessible sur le port 88
- Le contenu Web est placé dans le répertoire
/root/webroot. Pour héberger un site Web, copiez vos fichiers dans ce répertoire. - Pour tester le fonctionnement du serveur, créez un fichier test :
- Accès :
http://<your_server_IP>:88/test.html

-
MySQL:
- La base de données est accessible sur le port 3306
- Les données sont stockées dans
/root/data - Le mot de passe racine correspond au mot de passe d'accès SSH du serveur.
- Pour se connecter, utilisez :
-
PHP 8.3:
- Installé dans le conteneur avec toutes les extensions nécessaires
- Fonctionne via FastCGI pour une meilleure performance.
- Pour vérifier le fonctionnement de PHP, créez un fichier info.php dans le répertoire
/root/webroot:

-
Ports:
- 88 : Web (NGINX)
- 3306 : MySQL
- 5432 : PostgreSQL
Note
Toutes les commandes pour travailler avec la base de données doivent être exécutées via le conteneur Docker en utilisant la commande docker exec. Le conteneur fonctionne dans un réseau dédié, lemp-net, afin d'améliorer l'isolation et la sécurité.
Note
Des informations détaillées sur la gestion de la base de données sont disponibles dans la documentation pour les développeurs.
Commande d'un serveur avec LEMP via l'API¶
Pour installer ce logiciel en utilisant l'API, suivez les instructions.