Guide de déploiement et configuration de Nginx
1. Mettre à jour le système et installer Nginx
1. Mettre à jour les listes de paquets
sudo apt-get update -y
Cette commande synchronise votre index local avec les dépôts distants, pour
s’assurer d’obtenir les dernières versions des paquets.
2. Installer Nginx
sudo apt-get install nginx -y
Ici, vous installez la dernière version disponible de Nginx sans avoir à confirmer
chaque étape.
3. Vérifier la version de Nginx
sudo nginx -v
Cela affiche la version de Nginx installée (par ex. nginx/1.22.1). Vous pouvez
exécuter deux fois cette commande (avant/après l’installation) pour confirmer que
l’installation a bien fonctionné.
2. Libérer le port 80 en supprimant tout conflit avec Apache
1. Arrêter Apache (s’il est installé)
sudo systemctl stop apache2
Si Apache était préalablement installé, il pourrait déjà écouter sur le port 80,
bloquant Nginx.
2. Désactiver Apache au démarrage
sudo systemctl disable apache2
Pour éviter qu’Apache ne redémarre automatiquement au prochain boot.
3. Vérifier ce qui écoute sur le port 80
sudo ss -tulpn | grep ':80'
Cette commande liste tous les processus (PID + nom) en écoute sur le port TCP 80.
Si vous ne voyez rien, cela signifie que le port 80 est disponible pour Nginx.
3. Vérifier et démarrer Nginx pour la première fois
1. Contrôler la syntaxe globale de Nginx
sudo nginx -t
Même sans configuration de site personnalisé, cette commande teste la validité de la
configuration par défaut. Vous devez voir :
nginx: the configuration file /etc/nginx/[Link] syntax is ok
nginx: configuration file /etc/nginx/[Link] test is successful
2. Démarrer Nginx
sudo systemctl start nginx
Le service Nginx devrait démarrer et écouter sur le port 80 (s’il est libre).
3. Vérifier l’état du service
sudo systemctl status nginx
Vous devriez voir un affichage “active (running)”. Si c’est le cas, allez à l’adresse
[Link] depuis un navigateur (ou curl -I [Link] : vous
verrez la page par défaut [Link].
4. Activer Nginx au démarrage
sudo systemctl enable nginx
Pour que Nginx se lance automatiquement au prochain démarrage de la machine.
4. Préparer l’arborescence de votre site « [Link] »
1. Créer le dossier racine du site
sudo mkdir -p /var/www/[Link]
Le -p crée également les dossiers parents si besoin. Ici, vous créez /var/www/it-
[Link]/ comme répertoire où résidera votre contenu web.
2. Attribuer les bons droits (propriétaire et permissions)
sudo chown -R www-data:www-data /var/www/[Link]/
sudo chmod 755 /var/www/[Link]/
chown -R www-data:www-data : l’utilisateur et le groupe www-data (utilisé par
Nginx) deviennent propriétaires.
chmod 755 : permission de lecture et d’exécution pour tous, et écriture uniquement
pour le propriétaire.
3. Créer (ou éditer) la page d’accueil
sudo nano /var/www/[Link]/[Link]
Dans ce fichier, vous pouvez insérer un code HTML simple pour valider le
fonctionnement. Exemple :
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>[Link]</title>
</head>
<body>
<h1>Site [Link] fonctionne !</h1>
</body>
</html>
Enregistrez puis quittez (Ctrl+O, Entrée, Ctrl+X).
5. Configurer Nginx pour « [Link] »
1. Créer le fichier de configuration spécifique au site
sudo nano /etc/nginx/sites-available/[Link]
Collez-y un bloc minimal :
server {
listen 80;
listen [::]:80;
server_name [Link] [Link];
root /var/www/[Link];
index [Link];
location / {
try_files $uri $uri/ =404;
}
}
- listen 80 et listen [::]:80 : Nginx écoute sur IPv4 et IPv6 au port 80.
- server_name … : liste des domaines correspondant à ce bloc.
- root /var/www/[Link]/ : dossier où se trouvent vos fichiers statiques.
- try_files $uri $uri/ =404 : si le fichier demandé n’existe pas, renvoie une 404.
2. Activer la configuration du site
sudo ln -s /etc/nginx/sites-available/[Link] /etc/nginx/sites-
enabled/[Link]
Cela crée un lien symbolique dans sites-enabled pour dire à Nginx de prendre en
compte ce bloc au prochain rechargement.
3. Vérifier la syntaxe de la nouvelle configuration
sudo nginx -t
Assurez-vous de voir :
nginx: the configuration file /etc/nginx/[Link] syntax is ok
nginx: configuration file /etc/nginx/[Link] test is successful
Si vous obtenez une erreur, corrigez-la et relancez nginx -t jusqu’à ce que tout soit
ok.
4. Redémarrer (ou recharger) Nginx
sudo systemctl restart nginx
ou
sudo systemctl reload nginx
À présent, Nginx doit servir le contenu de /var/www/[Link]/[Link]
lorsque vous tapez [Link] dans le navigateur.
6. Tester et diagnostiquer
1. Vérifier la résolution DNS (ou le fichier hosts local)
sudo nano /etc/hosts
Ajoutez la ligne :
[Link] [Link] [Link]
ou remplacez [Link] par l’IP de votre serveur.
2. Vérifier l’accès HTTP / la réponse 200
Dans le navigateur : [Link]
Dans le terminal : curl -I [Link]
Vous devriez voir en réponse :
HTTP/1.1 200 OK
Server: nginx/1.22.1
3. Surveiller les logs en temps réel
sudo tail -f /var/log/nginx/[Link]
Vous voyez chaque requête HTTP qui arrive, son code de statut, l’IP du client, etc.
sudo tail -f /var/log/nginx/[Link]
Utile pour repérer immédiatement les problèmes de permissions, de fichiers
manquants, ou toute autre erreur critique.