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.