Installation et Configuration de Nginx

Nginx (prononcé "Engine X") est un serveur web léger et performant. Il est réputé pour sa capacité à gérer un grand nombre de connexions simultanées, ce qui en fait un excellent choix comme serveur web principal ou comme reverse proxy.

Info : Contrairement à Apache qui lance un processus par connexion, Nginx fonctionne de manière asynchrone (événementielle), ce qui consomme moins de mémoire RAM.

1. Installation

Mettez à jour les paquets et installez Nginx :

sudo apt update
sudo apt install nginx -y

Vérifiez que le service tourne correctement :

systemctl status nginx

2. Préparation du dossier du site

Avant de configurer Nginx, il faut créer le dossier qui accueillera vos fichiers HTML (la "racine" du site).

# Création du dossier
sudo mkdir -p /var/www/monsite

# Création d'une page de test
echo "<h1>Bienvenue sur mon site Nginx</h1>" | sudo tee /var/www/monsite/index.html

# Attribution des droits (pour que Nginx puisse lire)
sudo chown -R www-data:www-data /var/www/monsite

3. Configuration (Virtual Block)

Créez un fichier de configuration dédié pour votre site :

sudo nano /etc/nginx/sites-available/mon-site.conf

Collez la configuration suivante :

server {
    listen 80;
    server_name monsite.fr www.monsite.fr;

    root /var/www/monsite;
    index index.html;

    location / {
        # Tente de servir le fichier, sinon le dossier, sinon erreur 404
        try_files $uri $uri/ =404;
    }
}

4. Activation et Redémarrage

Nginx utilise deux dossiers : sites-available (stockage) et sites-enabled (actifs). Il faut créer un lien entre les deux.

sudo ln -s /etc/nginx/sites-available/mon-site.conf /etc/nginx/sites-enabled/
Vérification : Toujours tester la syntaxe avant de redémarrer pour éviter de faire planter le serveur web.
# 1. Tester la configuration
sudo nginx -t

# 2. Si le test est "successful", redémarrer
sudo systemctl restart nginx