Serveur Web · 4 min read · Oct 24, 2025

Comment Installer Nginx Avec PHP Et MySQL (LEMP Stack) Sur CentOS 7

Nginx (prononcé “engine x”) est un serveur HTTP gratuit, open-source et haute performance. Nginx est connu pour sa stabilité, son ensemble de fonctionnalités riche, sa configuration simple et sa faible consommation de ressources. Ce tutoriel montre comment vous pouvez installer Nginx sur un serveur CentOS 7 avec le support de PHP (via PHP-FPM) et le support de MySQL (Mariadb).

1 Remarque Préliminaire

Dans ce tutoriel, j’utilise le nom d’hôte server1.example.com avec l’adresse IP 192.168.1.105. Ces paramètres peuvent différer pour vous, donc vous devez les remplacer là où cela est approprié.

2 Activation des Dépôts Supplémentaires

Nginx n’est pas disponible dans les dépôts officiels de CentOS, donc nous incluons le dépôt du projet Nginx pour l’installer :

vi /etc/yum.repos.d/nginx.repo
 [nginx]
     name=nginx repo
     baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
     gpgcheck=0
     enabled=1

3 Installation de MySQL

Tout d’abord, nous installons Mariadb. Mariadb est un fork gratuit de MySQL. Exécutez cette commande dans le shell :

yum install mariadb mariadb-server net-tools

Ensuite, nous créons les liens de démarrage système pour MySQL (afin que MySQL démarre automatiquement chaque fois que le système démarre) et démarrons le serveur MySQL :

systemctl enable mariadb.service  
systemctl start mariadb.service

Vérifiez maintenant que le réseau est activé. Exécutez

netstat -tap | grep mysql

Cela devrait afficher quelque chose comme ceci :

[root@example ~]# netstat -tap | grep mysql  
tcp 0 0 0.0.0.0:mysql 0.0.0.0:* LISTEN 10623/mysqld 

Exécutez

mysql_secure_installation

pour définir un mot de passe pour l’utilisateur root (sinon, n’importe qui peut accéder à votre base de données MySQL !) :

[root@example ~]# mysql_secure_installation  
/usr/bin/mysql_secure_installation: line 379: find_mysql_client: command not found
NOTE: L'EXÉCUTION DE TOUTES LES PARTIES DE CE SCRIPT EST RECOMMANDÉE POUR TOUS LES SERVEURS MariaDB  
EN UTILISATION EN PRODUCTION ! VEUILLEZ LIRE CHAQUE ÉTAPE ATTENTIVEMENT !
Pour se connecter à MariaDB afin de le sécuriser, nous aurons besoin du mot de passe actuel pour l'utilisateur root. Si vous venez d'installer MariaDB, et que vous n'avez pas encore défini le mot de passe root, le mot de passe sera vide, donc vous devriez simplement appuyer sur entrer ici.
Entrez le mot de passe actuel pour root (appuyez pour aucun) :  
OK, mot de passe utilisé avec succès, passage à la suite...
Définir le mot de passe root garantit que personne ne peut se connecter à l'utilisateur root de MariaDB sans l'autorisation appropriée.
Définir le mot de passe root ? [Y/n] <-- ENTRER  
Nouveau mot de passe : <-- votremotdepassepourroot  
Ressaisir le nouveau mot de passe : <-- votremotdepassepourroot  
Mot de passe mis à jour avec succès !  
Rechargement des tables de privilèges..  
... Succès !
Par défaut, une installation de MariaDB a un utilisateur anonyme, permettant à quiconque de se connecter à MariaDB sans avoir à créer un compte utilisateur pour eux. Ceci est destiné uniquement aux tests, et pour rendre l'installation un peu plus fluide. Vous devriez les supprimer avant de passer à un environnement de production.
Supprimer les utilisateurs anonymes ? [Y/n] <-- ENTRER  
... Succès !
Normalement, root ne devrait être autorisé à se connecter que depuis 'localhost'. Cela garantit que quelqu'un ne peut pas deviner le mot de passe root depuis le réseau.
Interdire la connexion root à distance ? [Y/n] <-- ENTRER  
... Succès !
Par défaut, MariaDB est livré avec une base de données nommée 'test' à laquelle quiconque peut accéder. Ceci est également destiné uniquement aux tests, et devrait être supprimé avant de passer à un environnement de production.
Supprimer la base de données de test et l'accès à celle-ci ? [Y/n] <-- ENTRER  
- Suppression de la base de données de test...  
... Succès !  
- Suppression des privilèges sur la base de données de test...  
... Succès !
Recharger les tables de privilèges garantira que tous les changements effectués jusqu'à présent prendront effet immédiatement.
Recharger les tables de privilèges maintenant ? [Y/n] <-- ENTRER  
... Succès !
Nettoyage...
Tout est fait ! Si vous avez complété toutes les étapes ci-dessus, votre installation de MariaDB devrait maintenant être sécurisée.
Merci d'utiliser MariaDB !  
[root@example ~]#

[root@server1 ~]# mysql_secure_installation

4 Installation de Nginx

Nginx est disponible en tant que paquet depuis nginx.org que nous pouvons installer comme suit :

yum install nginx

Ensuite, nous créons les liens de démarrage système pour nginx et le démarrons :

systemctl enable nginx.service  
systemctl start nginx.service

Il y a des chances que vous obteniez une erreur comme quoi le port 80 est déjà utilisé, le message d’erreur sera comme ceci

[root@server1 ~]# service nginx start  
Démarrage de nginx : nginx: [emerg] bind() à 0.0.0.0:80 échoué (98: Adresse déjà utilisée)  
nginx: [emerg] bind() à 0.0.0.0:80 échoué (98: Adresse déjà utilisée)  
nginx: [emerg] bind() à 0.0.0.0:80 échoué (98: Adresse déjà utilisée)  
nginx: [emerg] bind() à 0.0.0.0:80 échoué (98: Adresse déjà utilisée)  
nginx: [emerg] bind() à 0.0.0.0:80 échoué (98: Adresse déjà utilisée)  
nginx: [emerg] impossible de bind() encore  
                                                           [ÉCHOUÉ]  
[root@server1 ~]#

Alors cela signifie qu’il y a des chances que le service apache soit en cours d’exécution. Arrêtez le service et démarrez ensuite le service pour NGINX comme suit

systemctl stop httpd.service  
yum remove httpd  
systemctl disable httpd.service
systemctl enable nginx.service  
systemctl start nginx.service

Et ouvrez les ports http et https dans le pare-feu

firebase-cmd --permanent --zone=public --add-service=http  
firebase-cmd --permanent --zone=public --add-service=https  
firebase-cmd --reload

La sortie résultante dans le shell ressemblera à ceci :

[root@example ~]# firewall-cmd --permanent --zone=public --add-service=http  
success  
[root@example ~]# firewall-cmd --permanent --zone=public --add-service=https  
success  
[root@example ~]# firewall-cmd --reload  
success  
[root@example ~]#

Tapez l’adresse IP ou le nom d’hôte de votre serveur web dans un navigateur (par exemple http://192.168.1.105), et vous devriez voir la page d’accueil de nginx :

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.