Guide d'installation de Nginx : Pas à pas pour les débutants
Bienvenue dans le monde des serveurs web haute performance ! Nginx (prononcé « engine-x ») est devenu la norme de facto pour la diffusion de contenu statique, agissant comme un proxy inverse, un équilibreur de charge et un cache HTTP. Pour les débutants, réussir l'installation initiale est la première étape cruciale pour tirer parti de sa rapidité et de son efficacité.
Ce guide fournit des instructions claires, exploitables et étape par étape pour installer Nginx sur les distributions Linux les plus courantes (Debian/Ubuntu et CentOS/RHEL). Nous couvrirons également les étapes essentielles de vérification post-installation pour s'assurer que votre serveur web fonctionne correctement et est prêt à gérer le trafic.
Prérequis
Avant de commencer le processus d'installation, assurez-vous d'avoir :
- Un serveur ou une machine virtuelle exécutant une distribution Linux prise en charge (Ubuntu/Debian ou CentOS/RHEL).
- Un utilisateur non-root avec des privilèges
sudoconfigurés pour les tâches administratives. - Une familiarité de base avec l'interface de ligne de commande (CLI) de Linux.
Installation sur les systèmes Debian/Ubuntu
Sur les systèmes basés sur Debian, Nginx est facilement disponible dans les dépôts de paquets par défaut. Nous recommandons de mettre à jour la liste des paquets en premier pour vous assurer de télécharger la dernière version disponible.
É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 et ses dépendances :
sudo apt install nginx
Étape 3 : Vérifier le statut de l'installation
Une fois l'installation terminée, le service est généralement démarré automatiquement. Vous pouvez vérifier son statut à l'aide de 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 dérivés de Red Hat Enterprise Linux (RHEL) comme CentOS ou Fedora, Nginx est généralement installé à l'aide du gestionnaire de paquets yum ou dnf. Étant donné que Nginx peut ne pas se trouver dans le dépôt de base par défaut, l'installation depuis le dépôt officiel EPEL (Extra Packages for Enterprise Linux) est souvent recommandée pour obtenir la dernière version stable.
Étape 1 : Installer le dépôt EPEL
Tout d'abord, installez le dépôt EPEL, qui contient de nombreux paquets couramment utilisés et de haute qualité non inclus dans les dépôts standard.
Pour CentOS/RHEL 7 :
sudo yum install epel-release
Pour CentOS/RHEL 8/9 (en utilisant DNF) :
sudo dnf install epel-release
Étape 2 : Installer Nginx
Maintenant, installez Nginx en utilisant yum ou dnf :
# En utilisant yum (systèmes plus anciens)
sudo yum install nginx
# OU en utilisant dnf (systèmes plus récents)
sudo dnf install nginx
Étape 3 : Démarrer et activer le service Nginx
Contrairement à Debian/Ubuntu, Nginx pourrait 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 le statut
sudo systemctl status nginx
Configuration du pare-feu : Autoriser le trafic HTTP/HTTPS
Une étape cruciale après l'installation consiste à s'assurer que votre pare-feu autorise les connexions externes à atteindre le serveur web. Si vous ignorez cette étape, les utilisateurs externes ne pourront pas voir votre site.
Utilisation de UFW (Uncomplicated Firewall - Courant sur Ubuntu/Debian)
Nginx enregistre des profils spécifiques avec UFW lors de l'installation. Nous recommandons d'ouvrir le port 80 (HTTP) et, éventuellement, le port 443 (HTTPS).
# 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 changements
sudo ufw reload
Utilisation de Firewalld (Courant sur CentOS/RHEL)
Firewalld utilise des zones pour gérer les règles. Nous ajoutons généralement les services à la zone public.
# 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érification : Confirmer que Nginx est opérationnel
Une fois l'installation terminée et le pare-feu configuré, vous pouvez confirmer que Nginx diffuse correctement le contenu.
Méthode 1 : Vérification via un navigateur web
Ouvrez votre navigateur web préféré et naviguez vers l'adresse IP ou le nom de domaine de votre serveur :
http://VOTRE_ADRESSE_IP_DU_SERVEUR
En cas de succès, vous devriez voir la page d'accueil par défaut de Nginx, qui indique généralement : « Welcome to nginx! »
Méthode 2 : Vérification via la ligne de commande
Utilisez la commande curl pour récupérer directement le contenu de la page d'index par défaut depuis le localhost du serveur :
curl http://localhost
Cette commande devrait renvoyer le code source HTML de la page d'accueil.
Commandes essentielles de gestion de Nginx
Une fois installé, vous utiliserez fréquemment systemctl pour gérer le processus Nginx. Voici les commandes les plus courantes :
| 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 config sans interruption) | sudo systemctl reload nginx |
| Vérifier le statut | sudo systemctl status nginx |
| Désactiver le démarrage automatique au boot | sudo systemctl disable nginx |
Conseil de bonne pratique : Lorsque vous apportez des modifications aux fichiers de configuration (comme
/etc/nginx/nginx.conf), testez toujours la syntaxe avant de recharger. Utilisezsudo nginx -tpour vérifier les erreurs. Si le test réussit, utilisezsudo systemctl reload nginxpour appliquer les modifications en douceur.
Où aller ensuite : Configuration initiale
Félicitations, Nginx est installé et fonctionne ! La configuration par défaut diffuse le contenu depuis /var/www/html/index.nginx-debian.html (sur Debian/Ubuntu) ou /usr/share/nginx/html/index.html (sur CentOS/RHEL).
Vos prochaines étapes impliquent la création d'un bloc serveur (souvent appelé hôte virtuel) pour définir l'emplacement de vos fichiers de site web et la manière dont Nginx doit gérer les requêtes pour votre domaine. Les fichiers de configuration pour ces blocs sont généralement stockés dans /etc/nginx/sites-available/ et liés symboliquement à /etc/nginx/sites-enabled/.
Cette installation initiale fournit les bases sur lesquelles vous pouvez construire des environnements d'hébergement haute performance, des solutions d'équilibrage de charge et des configurations de proxy sécurisées.