Installer Nginx sur Debian
Nginx sert des fichiers statiques et relaie les requêtes vers une application. C'est souvent le premier paquet installé sur un VPS, et aussi la première source de confusion : un service actif ne signifie pas qu'il est joignable de l'extérieur. Cette procédure couvre l'installation, le test local, le pare-feu et la vérification depuis Internet, en IPv6 comme en IPv4.
Installer et démarrer
sudo apt update
sudo apt install nginx
sudo systemctl status nginx
sudo systemctl is-enabled nginxLe paquet Debian installe, démarre et active le service automatiquement. status doit afficher active (running). Si le service échoue, sudo nginx -t valide la configuration et journalctl -u nginx -n 50 donne la cause.
Les fichiers utiles :
/etc/nginx/nginx.conf: configuration principale./etc/nginx/sites-available/: blocs de sites disponibles./etc/nginx/sites-enabled/: liens vers les sites actifs./var/www/html/: racine de la page par défaut./var/log/nginx/access.logeterror.log: journaux.
Tester localement
curl -I http://127.0.0.1
curl -I http://[::1]
sudo ss -ltnp | grep ':80 'Vous devez obtenir HTTP/1.1 200 OK ou une redirection, et voir Nginx écouter sur le port 80 en IPv4 et IPv6. La configuration par défaut de Debian contient listen 80 default_server; et listen [::]:80 default_server;. Si seul IPv4 répond, vérifiez que la ligne IPv6 n'a pas été supprimée.
curl en local contourne le pare-feu : un succès local ne prouve pas que le port est ouvert depuis l'extérieur.
Ouvrir le pare-feu
Avec UFW :
sudo ufw allow 'Nginx Full'
sudo ufw statusL'application Nginx Full ouvre 80 et 443. Si vous n'utilisez pas encore HTTPS, sudo ufw allow 'Nginx HTTP' suffit. Vérifiez les profils disponibles avec sudo ufw app list.
Ouvrez le pare-feu avant de tester depuis l'extérieur, sinon vous ne saurez pas si l'échec vient du filtrage ou de Nginx. Gardez SSH autorisé pendant toute modification.
Vérifier depuis l'extérieur
Récupérez l'adresse IPv6 publique :
ip -6 addr show scope globalPuis, depuis une autre machine :
curl -6 -I http://[VOTRE_IPV6]
curl -4 -I http://VOTRE_IPV4Un timeout indique un pare-feu ou une absence d'IPv4 dédiée. Un 502 n'a pas de sens ici : sans configuration applicative, Nginx sert la page par défaut. Consultez access.log pour confirmer que la requête arrive, et error.log pour les erreurs de configuration.
- Ne remplacez pas la page par défaut par un fichier déposé hors de
/var/www/htmlsans adapter la racine. - Ne passez jamais la racine web en
777: Nginx a besoin de lire, pas d'écrire. - Rechargez avec
sudo nginx -t && sudo systemctl reload nginxaprès chaque modification. - Gardez Nginx à jour et vérifiez la rotation des journaux.
Vérifier
sudo nginx -t
systemctl is-active nginx
curl -sI http://localhost | head -1nginx -t doit répondre syntax is ok et test is successful. Si le test échoue, corrigez la ligne signalée avant de recharger : un rechargement avec une configuration invalide laisse l'ancienne version active, mais l'erreur reviendra au prochain redémarrage.
Publicité
Cet article vous a-t-il aidé ?
À lire aussi
- Gérer les utilisateurs et groupes LinuxCréer un compte, l'ajouter au bon groupe, gérer les comptes de service et auditer les accès.
- Configurer Nginx en reverse proxyRelayer une application locale avec proxy_pass, transmettre les bons en-têtes et gérer WebSocket et délais.
- Comprendre les permissions LinuxLire rwx, utiliser chmod et chown correctement, comprendre umask et pourquoi 777 est une mauvaise réponse.