Guide d'installation de Nginx : Pas à pas pour les débutants
Maîtrisez la configuration initiale de votre serveur web haute vitesse ! Ce guide complet accompagne les débutants dans l'installation précise, étape par étape, de Nginx sur les systèmes Debian/Ubuntu et CentOS/RHEL. Apprenez les commandes essentielles pour démarrer, arrêter et vérifier le service, ainsi que la configuration cruciale du pare-feu pour assurer une accessibilité immédiate. Mettez votre serveur web Nginx en service en quelques minutes.
Guide d'installation de Nginx : Pas à pas pour débutants
Vous devez avoir Nginx installé, en cours d'exécution et accessible avant de pouvoir l'utiliser comme serveur web, proxy inverse, équilibreur de charge ou cache. Ce guide d'installation de Nginx vous accompagne dans la configuration de base via le gestionnaire de paquets sur les systèmes Linux Debian/Ubuntu et de style RHEL, puis vous montre comment vérifier le service et ouvrir le pare-feu.
Les commandes ci-dessous supposent un serveur basé sur systemd et un utilisateur disposant d'un accès sudo.
Prérequis
Avant de commencer, assurez-vous d'avoir :
- Un serveur ou une machine virtuelle exécutant Ubuntu, Debian, RHEL, CentOS Stream, Rocky Linux, AlmaLinux, ou une distribution similaire.
- Un utilisateur non root avec des privilèges
sudo. - Un accès shell via SSH ou un terminal local.
Installation sur les systèmes Debian/Ubuntu
Sur les systèmes basés sur Debian, Nginx est disponible dans les dépôts par défaut. Mettez d'abord à jour l'index des paquets pour qu'apt voie les métadonnées actuelles des paquets.
Étape 1 : Mettre à jour les listes de paquets
Exécutez les commandes suivantes pour mettre à jour votre index de paquets local :
sudo apt update
Étape 2 : Installer Nginx
Utilisez la commande apt install pour télécharger et installer Nginx ainsi que ses dépendances :
sudo apt install nginx
Étape 3 : Vérifier l'état de l'installation
Une fois l'installation terminée, le service est généralement démarré automatiquement. Vous pouvez vérifier son état avec systemctl :
sudo systemctl status nginx
Vous devriez voir une sortie indiquant que le service est active (running).
Installation sur les systèmes CentOS/RHEL
Sur les systèmes de style RHEL, utilisez dnf sur les versions récentes et yum sur les plus anciennes. Certaines distributions incluent Nginx dans leurs propres dépôts ; d'autres peuvent nécessiter EPEL ou un dépôt officiel du fournisseur. Si dnf install nginx ne trouve pas le paquet, activez EPEL ou consultez les notes d'empaquetage de Nginx de votre distribution.
Étape 1 : Installer le dépôt EPEL
Si votre système a besoin d'EPEL, installez-le d'abord.
Pour CentOS/RHEL 7 :
sudo yum install epel-release
Pour CentOS/RHEL 8/9 (avec DNF) :
sudo dnf install epel-release
Étape 2 : Installer Nginx
Maintenant, installez Nginx avec yum ou dnf :
# Avec yum (systèmes plus anciens)
sudo yum install nginx
# OU avec dnf (systèmes plus récents)
sudo dnf install nginx
Étape 3 : Démarrer et activer le service Nginx
Contrairement à Debian/Ubuntu, Nginx peut ne pas démarrer automatiquement après l'installation sur les systèmes basés sur RHEL. Vous devez le démarrer manuellement et l'activer pour qu'il s'exécute au démarrage du système :
# Démarrer le service immédiatement
sudo systemctl start nginx
# S'assurer qu'il démarre au redémarrage
sudo systemctl enable nginx
# Vérifier l'état
sudo systemctl status nginx
Configuration du pare-feu : Autoriser HTTP et HTTPS
Après l'installation, assurez-vous que votre pare-feu autorise le trafic web. Si le service est en cours d'exécution mais que le port 80 ou 443 est bloqué, votre vérification dans le navigateur échouera depuis l'extérieur du serveur.
Avec UFW sur Ubuntu/Debian
Le paquet Nginx d'Ubuntu enregistre généralement des profils d'application UFW. Ouvrez à la fois HTTP et HTTPS si vous prévoyez d'ajouter TLS prochainement.
# Lister les profils d'application disponibles
sudo ufw app list
# Autoriser le trafic web standard (HTTP/HTTPS)
sudo ufw allow 'Nginx Full'
# Recharger le pare-feu pour appliquer les modifications
sudo ufw reload
Avec Firewalld sur les systèmes de style RHEL
Firewalld utilise des zones pour gérer les règles. Ces commandes ajoutent les services standard http et https à la zone active par défaut.
# Autoriser le trafic HTTP (port 80)
sudo firewall-cmd --permanent --add-service=http
# Autoriser le trafic HTTPS (port 443)
sudo firewall-cmd --permanent --add-service=https
# Recharger les règles du pare-feu
sudo firewall-cmd --reload
Vérifier que Nginx fonctionne
Une fois le paquet installé et le pare-feu ouvert, confirmez que Nginx sert la page par défaut.
Méthode 1 : Vérification dans le navigateur web
Ouvrez votre navigateur web préféré et accédez à l'adresse IP ou au nom de domaine de votre serveur :
http://ADRESSE_IP_DE_VOTRE_SERVEUR
En cas de succès, vous devriez voir la page d'accueil par défaut de Nginx. Le texte exact et le chemin du fichier varient selon la distribution.
Méthode 2 : Vérification en ligne de commande
Utilisez curl depuis le serveur lui-même pour vérifier l'écouteur local :
curl http://localhost
Cette commande devrait renvoyer du HTML. Si elle échoue localement, vérifiez systemctl status nginx et /var/log/nginx/error.log avant de résoudre les problèmes de DNS ou de règles de pare-feu cloud.
Commandes essentielles de gestion de Nginx
Une fois installé, vous gérerez généralement Nginx avec systemctl :
| Action | Commande |
|---|---|
| Démarrer le serveur | sudo systemctl start nginx |
| Arrêter le serveur | sudo systemctl stop nginx |
| Redémarrer (Arrêter puis Démarrer) | sudo systemctl restart nginx |
| Recharger (Appliquer les changements de configuration sans interruption) | sudo systemctl reload nginx |
| Vérifier l'état | sudo systemctl status nginx |
| Désactiver le démarrage automatique au boot | sudo systemctl disable nginx |
Testez la syntaxe de la configuration avant chaque rechargement :
sudo nginx -t
sudo systemctl reload nginx
Cette habitude permet de détecter les points-virgules manquants, les mauvais chemins d'inclusion et les conflits de listen en double avant qu'ils n'interrompent le trafic.
Prochaine étape : Créer un bloc serveur
La configuration par défaut sert une page d'accueil fournie par le paquet. Sur Debian/Ubuntu, les fichiers web se trouvent généralement sous /var/www/html. Sur les systèmes de style RHEL, la racine par défaut est souvent /usr/share/nginx/html.
Votre prochaine étape consiste à créer un bloc serveur pour votre domaine. Les agencements Debian/Ubuntu utilisent souvent /etc/nginx/sites-available/ avec des liens symboliques dans /etc/nginx/sites-enabled/. Les agencements de style RHEL utilisent plus souvent des fichiers sous /etc/nginx/conf.d/.
Ensuite, ajoutez TLS, pointez l'enregistrement DNS de votre domaine vers le serveur, et exécutez sudo nginx -t avant de recharger. À ce stade, votre installation Nginx est prête pour une configuration réelle du site.