OffshoreVps
Tutoriels14 oct. 20269 min de lecturePar l’équipe OffshoreVps

Comment héberger un site web sur un VPS avec Nginx et HTTPS

Installer Nginx sur Ubuntu, créer un bloc server, ajouter un certificat Let's Encrypt gratuit et l’accélérer. Des commandes à copier-coller pour un site en ligne en 20 minutes.

L’hébergement mutualisé est facile, mais un VPS vous apporte vitesse, accès root et aucun voisin bruyant. Ce guide amène un serveur Ubuntu 24.04 ou 22.04 tout neuf à un site web HTTPS en ligne avec Nginx, en vingt minutes environ. Chaque commande peut être copiée telle quelle.

Fenêtre de terminal sur un VPS montrant les commandes utilisées pour héberger un site web avec Nginx et HTTPS, à commencer par « sudo apt update »
Le type de commandes que vous exécuterez sur votre serveur dans ce guide.

Ce dont vous avez besoin

1. Installer Nginx

sudo apt update
sudo apt install -y nginx
sudo systemctl enable --now nginx

Ouvrez l’adresse IP de votre serveur dans un navigateur. Vous devriez voir la page d’accueil par défaut de Nginx. Sinon, vérifiez que votre pare-feu autorise les ports 80 et 443 :

sudo ufw allow "Nginx Full"
sudo ufw status

2. Créer le dossier du site

sudo mkdir -p /var/www/example.com/html
sudo chown -R $USER:$USER /var/www/example.com
echo "<h1>It works</h1>" > /var/www/example.com/html/index.html

Remplacez example.com par votre propre domaine partout.

Les étapes de ce guide dans l’ordre : 1. Ce qu’il vous faut ; 2. 1. Installer Nginx ; 3. 2. Créer le dossier du site ; 4. 4. Ajouter un HTTPS gratuit avec Let's Encrypt ; 5. 5. L’accélérer ; 6. Problèmes courants
Les étapes de ce guide, dans l’ordre.

3. Ajouter un bloc server

sudo nano /etc/nginx/sites-available/example.com
server {
    listen 80;
    listen [::]:80;
    server_name example.com www.example.com;
    root /var/www/example.com/html;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

Activez-le, testez la configuration et rechargez :

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

4. Ajouter un HTTPS gratuit avec Let's Encrypt

sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d example.com -d www.example.com

Certbot modifie votre bloc server, redirige HTTP vers HTTPS et installe un timer qui renouvelle automatiquement le certificat. Vérifiez le timer avec systemctl list-timers | grep certbot.

5. L’accélérer

Activez la compression et la mise en cache du navigateur pour les fichiers statiques. Ajoutez ceci dans le bloc server :

gzip on;
gzip_types text/css application/javascript application/json image/svg+xml;

location ~* \.(css|js|png|jpg|jpeg|webp|svg|woff2)$ {
    expires 30d;
    add_header Cache-Control "public";
}

Rechargez ensuite Nginx. Pour les sites dynamiques comme WordPress, installez PHP-FPM et transmettez-lui les requêtes .php, ou placez un plugin de cache devant.

Problèmes courants

  • 403 Forbidden : Nginx ne peut pas lire le dossier. Vérifiez le propriétaire et que chaque répertoire parent est exécutable (chmod o+x).
  • Certbot échoue : le domaine ne pointe pas encore vers le serveur, ou le port 80 est bloqué.
  • La page par défaut s’affiche toujours : supprimez /etc/nginx/sites-enabled/default et rechargez.