Installer et configurer un serveur Nginx sur Ubuntu
Avec Apache et Microsoft IIS, Nginx est l’un des serveurs web les plus populaires et est capable de gérer le trafic soutenu de sites très visités. Il a aussi l’avantage de gérer le reverse proxy et est facile à manager. Ce tutoriel explique comment installer un serveur web Nginx sur distribution Ubuntu avec explication des fichiers de configuration et les services à démarrer. Un serveur Linux en ligne de commande ou avec interface graphique, toutes les déclinaisons Ubuntu sont compatibles (Kubuntu, Xubuntu…).
Une méthode valable pour Ubuntu 16 LTS (16.04) et Ubuntu 18 LTS (18.04). Ces versions de la distribution proposent nginx dans les repositories par défaut donc l’installation est grandement facilitée.
Installer nginx sur Linux Ubuntu
1. Mettre à jour les paquets Ubuntu :
sudo apt-get update
2. Installer le serveur nginix :
sudo apt-get install nginx
Cette commande s’occupe d’installer le serveur Nginx ainsi que les dépendances associées.
Configurer le firewall Ubuntu pour Nginx
1. Afficher la configuration actuelle :
sudo ufw app list
2. Ce qui doit afficher :
Available applications:
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
Ce qui signifie :
- Nginx Full : ce profil ouvre les ports 80 (http) et 443 (https)
- Nginx HTTP : ce profil n’ouvre que le port 80 pour du http standard, non encrypté
- Nginx HTTPS : ce profil ouvre le port 443 pour un trafic encrypté en TLS / SSL
3. Il est recommandé d’activer le profil le plus restrictif, soit le Nginx HTTPS dans le cas où un certificat SSL sera utilisé. Sinon, HTTP ou Full selon la configuration souhaitée. Dans cet exemple, est activé Nginx HTTP pour faire des tests sans certificat.
sudo ufw allow 'Nginx HTTP'
4. Vérifier la modification :
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx HTTP ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx HTTP (v6) ALLOW Anywhere (v6)
Service nginx
Comme tout service Ubuntu, nginx démarre et s’arrête avec systemctl :
1. Vérifier que nginx est démarré :
systemctl status nginx
2. Ce qui renvoie :
nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2019-02-11 12:34:40 EDT; 4min 2s ago
Se connecter au serveur nginx
1Depuis un autre poste du réseau ou une machine virtuelle, ouvrir un navigateur internet et se connecter sur l’adresse IP ou le nom DNS du serveur nginx.
http://adresseip
Commandes pour gérer nginx
Démarrer nginx :
sudo systemctl stop nginx
Arrêter nginx :
sudo systemctl start nginx
Redémarrer le serveur nginx :
sudo systemctl restart nginx
Recharger nginx après une modification de la configuration :
sudo systemctl reload nginx
Désactiver le démarrage automatique de nginx avec le système (activé par défaut) :
sudo systemctl disable nginx
Activer le démarrage automatique du service nginx Ubuntu :
sudo systemctl enable nginx
Configuration d’un serveur Nginx
Fichier principal de configuration : /etc/nginx/nginx.conf
Répertoire des sites : /etc/nginx/sites-available/
Répertoire des sites activés (créer des symlinks ln -s vers /sites-available) : /etc/nginx/sites-enabled/
Dossier des snippets Nginx : /etc/nginx/snippets
Logs Nginx
/var/log/nginx/access.log : historique de toutes les actions et requêtes du serveur web nginx
/var/log/nginx/error.log : uniquement les erreurs nginx