Nginx est un serveur proxy HTTP et inverse gratuit, haute performance et open-source. Il peut être utilisé comme serveur Web autonome et comme proxy inverse pour Apache et d'autres serveurs Web. C'est un programme plus flexible et léger qu'Apache HTTP Server, c'est pourquoi il alimente certains des plus grands sites sur Internet.
Nginx peut gérer un plus grand nombre de connexions qu'Apache et consommer moins de mémoire.
Chez LinuxAPT, dans le cadre de nos services de gestion de serveur, nous aidons régulièrement nos clients à effectuer des requêtes Nginx associées.
Dans ce contexte, nous verrons comment installer Nginx sur le serveur Debian 9.
Comment installer Nginx sur Debian ?
Avant de poursuivre cette procédure d'installation, assurez-vous que les conditions préalables suivantes sont remplies :
- Vous devez vous connecter au serveur Debian avec un compte utilisateur sudo non root.
- Assurez-vous qu'Apache ou tout autre service ne s'exécute pas sur le port 80 ou 443.
Maintenant, mettez à jour l'index des packages système vers la dernière version en exécutant la commande :
$ sudo apt update
Installez maintenant Nginx en tapant :
$ sudo apt install nginx
Une fois le processus d'installation terminé, le service Nginx démarrera automatiquement. Vous pouvez le vérifier en exécutant la commande suivante :
$ sudo systemctl status nginx
Output
● 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-04-15 20:19:06 IST; 32min ago
Docs: man:nginx(8)
Process: 421 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Process: 370 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 423 (nginx)
Tasks: 2 (limit: 4915)
CGroup: /system.slice/nginx.service
├─423 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
└─424 nginx: worker process
Comment régler le pare-feu pour Nginx ?
Si le pare-feu de votre serveur est activé, vous devez ouvrir les ports HTTP(80) et HTTPS(443).
Exécutez les commandes suivantes pour ouvrir les ports HTTP(80) et HTTPS(443) :
$ sudo firewall-cmd --permanent --zone=public --add-service=http
$ sudo firewall-cmd --permanent --zone=public --add-service=https
$ sudo firewall-cmd --reload
Si vous utilisez iptables pour filtrer les connexions à votre système, vous devrez ouvrir les ports HTTP (80) et HTTPS (443).
Ouvrez les ports nécessaires en lançant la commande suivante :
$ sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
$ sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
Vous pouvez vérifier votre installation Nginx en visitant l'URL ci-dessous dans votre navigateur :
http://YOUR_SERVER_IP_ADDRESS
Maintenant, vous verrez la page d'accueil par défaut de Nginx.
Comment gérer le service Nginx ?
Enfin, vous avez installé le serveur HTTP Nginx sur votre machine. Voici quelques commandes de base pour gérer le service Nginx :
Vous pouvez arrêter le service Nginx en exécutant la commande ci-dessous :
$ sudo systemctl stop nginx
Pour le relancer en tapant :
$ sudo systemctl start nginx
Redémarrez (arrêtez et démarrez) le service Nginx le service Apache en :
$ sudo systemctl restart nginx
Si le fichier de configuration est modifié et que vous souhaitez recharger le service nginx, vous pouvez le faire en tapant :
$ sudo systemctl reload nginx
Pour désactiver le démarrage automatique de Nginx après le démarrage, exécutez la commande ci-dessous :
$ sudo systemctl disable nginx
Encore une fois pour réactiver le type :
$ sudo systemctl enable nginx
Structure des fichiers de configuration Nginx
- Tous les fichiers de configuration se trouvent dans le répertoire /etc/nginx/.
- Le fichier de configuration principal de Nginx se trouve dans /etc/nginx/nginx.conf.
- Il est recommandé de créer un fichier de configuration distinct pour chaque domaine pour une meilleure maintenabilité.
- Les nouveaux blocs de serveur (fichier de configuration) de chaque domaine doivent être stockés dans /etc/nginx/sites-availabledirectory. Vous devez créer un lien symbolique de ces fichiers de configuration dans /etc/nginx/sites-enabled pour qu'ils soient utilisés par Nginx.
- L'activation des blocs de serveur se fait en créant un lien symbolique (un pointeur) depuis les sites du fichier de configuration dans un répertoire /etc/nginx/sites-enabled vers le répertoire sites-enabled.
- Le répertoire racine Web du serveur par défaut est /var/www/html
- Il est recommandé de suivre la convention d'attribution de noms standard. Le nom des fichiers de blocage du serveur Nginx doit être un nom de domaine et doit se terminer par l'extension .conf. Par exemple, votre nom de domaine est example.com alors le nom du fichier de blocage du serveur devrait example.com.conf
- Les fichiers journaux Nginx (access.log et error.log) se trouvent dans le répertoire /var/log/nginx/. Il est également recommandé d'avoir des fichiers journaux d'accès et d'erreurs différents pour chaque bloc de serveur.
Fichiers journaux du serveur Nginx :
/var/log/nginx/access.log :chaque demande adressée à votre serveur Web est enregistrée dans ce fichier journal, sauf si Nginx est configuré pour faire autrement.
/var/log/nginx/error.log :toutes les erreurs Nginx seront enregistrées dans ce journal.