Nginx est un serveur HTTP et proxy inverse open source et hautes performances qui alimente certains des plus grands sites sur Internet. Comparé à Apache, Nginx peut gérer un grand nombre de connexions simultanées et a une empreinte mémoire plus petite par connexion.
Nginx peut être utilisé comme serveur Web autonome et comme proxy inverse pour les serveurs HTTP et non HTTP.
Dans ce tutoriel, nous expliquerons comment installer et gérer Nginx sur Debian 10 Buster.
Installer Nginx #
Le paquet Nginx est inclus dans les dépôts Debian Buster par défaut. L'installation est assez simple, il suffit d'exécuter les commandes suivantes en tant que root ou utilisateur avec les privilèges sudo :
sudo apt update
sudo apt install nginx
Le service Nginx démarrera automatiquement une fois le processus d'installation terminé. Vous pouvez le vérifier avec curl
comme indiqué ci-dessous :
curl -I 127.0.0.1
Le résultat ressemblera à ceci :
HTTP/1.1 200 OK
Server: nginx/1.14.2
Date: Tue, 16 Jul 2019 16:50:46 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 16 Jul 2019 16:50:26 GMT
Connection: keep-alive
ETag: "5d2e0052-264"
Accept-Ranges: bytes
Vous pouvez utiliser le systemctl
commande pour gérer le service Nginx, comme toute autre unité systemd.
Ajuster le pare-feu #
Les utilisateurs UFW peuvent ouvrir HTTP (80
) et HTTPS (443
) en activant le profil "Nginx Full" :
sudo ufw allow 'Nginx Full'
Si vous utilisez nftables pour filtrer les connexions à votre système, ouvrez les ports nécessaires en exécutant la commande suivante :
nft add rule inet filter input tcp dport {80, 443} ct state new,established counter accept
Structure et meilleures pratiques du fichier de configuration Nginx #
- Les fichiers de configuration Nginx sont stockés dans le répertoire
/etc/nginx
répertoire. - Le fichier de configuration principal de Nginx est
/etc/nginx/nginx.conf
. - Les fichiers de configuration du bloc de serveur (vhost) sont stockés dans
/etc/nginx/sites-available
annuaire. Les fichiers de configuration trouvés dans ce répertoire sont utilisés par Nginx uniquement lorsqu'ils sont liés au/etc/nginx/sites-enabled
répertoire. - Pour activer un bloc de serveur, créez un lien symbolique (un pointeur) à partir du fichier de configuration dans un
sites-available
répertoire vers lesites-enabled
répertoire. - Pour écrire un code plus maintenable, il est judicieux de suivre une convention de dénomination standard. Par exemple, si votre nom de domaine est
mydomain.com
alors le fichier de configuration doit être nommé/etc/nginx/sites-available/mydomain.com.conf
. - Le
/etc/nginx/snippets
Le répertoire contient des extraits de configuration qui peuvent être inclus dans les fichiers de bloc du serveur. Si vous utilisez des segments de configuration reproductibles, vous pouvez refactoriser ces segments en extraits de code et inclure le fichier d'extrait de code dans les blocs de serveur. - Fichiers journaux Nginx (
access.log
eterror.log
) sont situés dans le/var/log/nginx/
annuaire. Il est recommandé d'avoir unaccess
différent eterror
fichiers journaux pour chaque bloc de serveur. - Vous pouvez définir le répertoire racine des documents de votre domaine à l'emplacement de votre choix. Les emplacements les plus courants pour la racine Web incluent :
/home/<user_name>/<site_name>
/var/www/<site_name>
/var/www/html/<site_name>
/opt/<site_name>