Recherche de site Web

Comment installer le serveur Web Nginx sur Ubuntu 20.04


Nginx est un serveur Web open source hautes performances qui détient une énorme part de marché dans les environnements de production. Il s’agit d’un serveur Web léger et robuste qui est principalement utilisé pour héberger des sites Web à fort trafic.

Lecture connexe : Comment installer le serveur Web Apache sur Ubuntu 20.04

Dans ce guide, vous apprendrez comment installer le serveur web Nginx et configurer le bloc serveur Nginx (hôtes virtuels) sur Ubuntu 20.04 LTS.

Conditions préalables

Pour commencer, assurez-vous de disposer d'une instance d'Ubuntu 20.04 LTS avec accès SSH et d'un utilisateur Sudo avec les privilèges root. De plus, une connexion Internet stable est recommandée pour installer les packages Nginx.

Installer Nginx sur Ubuntu 20.04

1. Avant d'installer Nginx, mettez à jour les listes de packages de votre serveur.

sudo apt update

2. Installez ensuite Nginx en exécutant la commande :

sudo apt install nginx

Lorsque vous êtes invité à continuer, appuyez sur 'Y' sur le clavier et appuyez sur ENTER. L'installation se fera en quelques secondes seulement.

3. Une fois Nginx installé avec succès, vous pouvez le démarrer et le vérifier en exécutant :

sudo systemctl start nginx
sudo systemctl status nginx

Le résultat ci-dessus indique clairement que Nginx est en cours d'exécution.

4. Pour vérifier la version de Nginx, exécutez :

sudo dpkg -l nginx

Le résultat indique que nous utilisons Nginx 1.17.10 qui est la dernière version au moment de la rédaction de cet article.

Ouvrez les ports Nginx sur le pare-feu UFW

Maintenant que Nginx est installé et fonctionne comme prévu, quelques ajustements sont nécessaires pour que Nginx soit accessible via un navigateur Web. Si vous exécutez le pare-feu UFW, vous devez autoriser le profil d'application Nginx.

Il existe 3 profils Nginx associés au pare-feu ufw.

  1. Nginx Full – Cela ouvre les ports 80 et 443 (pour le cryptage SSL/TLS).
  2. Nginx HTTP – Ce port ouvert uniquement 80 (pour le trafic Web non chiffré).
  3. Nginx HTTPS – Ouvre uniquement le port 443 (pour le cryptage SSL/TLS).

5. Commencez par activer le pare-feu sur Ubuntu 20.04.


sudo ufw enable

6. Pour l'instant, comme nous ne sommes pas sur un serveur crypté, nous n'autoriserons que le profil Nginx HTTP qui autorisera le trafic sur le port 80 .

sudo ufw allow 'Nginx HTTP'

7. Rechargez ensuite le pare-feu pour que les modifications persistent.

sudo ufw reload

8. Vérifiez maintenant l'état du pare-feu pour vérifier les profils qui ont été autorisés.

sudo ufw status

Tester Nginx sur Ubuntu 20.04

Nginx s'exécute sur le navigateur comme on peut s'y attendre avec n'importe quel serveur Web et le moyen le plus sûr de tester s'il fonctionne comme prévu est d'envoyer des requêtes via un navigateur.

9. Alors dirigez-vous vers votre navigateur et parcourez l’adresse IP ou le nom de domaine du serveur. Pour vérifier l'adresse IP de votre serveur, exécutez la commande ifconfig :

ifconfig

10. Si vous êtes sur un serveur cloud, exécutez la commande curl ci-dessous pour récupérer l'adresse IP publique du serveur.

curl ifconfig.me

11. Dans le champ URL de votre navigateur, saisissez l'adresse IP ou le nom de domaine de votre serveur et appuyez sur ENTRÉE.

http://server-IP or domain-name

Vous devriez obtenir une page de bienvenue Nginx par défaut, comme indiqué.

Gérer le processus Nginx dans Ubuntu 20.04

12. Pour arrêter le serveur Web Nginx, exécutez simplement :

sudo systemctl stop nginx

13. Pour relancer le serveur Web, exécutez :

sudo systemctl start nginx

14. Pour démarrer automatiquement Nginx au démarrage ou lors d'un redémarrage :

sudo systemctl enable nginx

15. Si vous souhaitez redémarrer le serveur Web, notamment après avoir modifié les fichiers de configuration, exécutez :

sudo systemctl restart nginx

16. Vous pouvez également recharger pour éviter de perdre les connexions, comme indiqué.

sudo systemctl reload nginx

Configuration du bloc serveur Nginx dans Ubuntu 20.04

Si vous envisagez d'héberger plusieurs sites sur votre serveur, la configuration d'un bloc serveur Nginx est fortement recommandée. Le bloc serveur est l’équivalent de l’hôte virtuel d’Apache.

Par défaut, Nginx est livré avec son bloc serveur par défaut qui est configuré pour servir le contenu Web au chemin /var/www/html.

Nous allons créer un bloc Nginx distinct pour diffuser le contenu de notre domaine. Pour ce guide, nous allons utiliser le domaine crazytechgeek.info.
Dans votre cas, assurez-vous de le remplacer par votre propre nom de domaine.

17. Pour créer un fichier de blocage de serveur, commencez par créer un répertoire pour votre domaine, comme indiqué.

sudo mkdir -p /var/www/crazytechgeek.info/html

18. Ensuite, attribuez la propriété au nouveau répertoire à l'aide de la variable $USER.

sudo chown -R $USER:$USER /var/www/crazytechgeek.info/html

19. Assurez-vous également d'attribuer des autorisations de répertoire en conséquence, permettant au propriétaire de disposer de toutes les autorisations (lecture, écriture et exécution) et d'accorder aux autres parties uniquement des autorisations de lecture et d'exécution.

sudo chmod -R 755 /var/www/crazytechgeek.info

20. Dans le répertoire du domaine, créez un index.html un fichier qui contiendra le contenu Web du domaine.

sudo vim /var/www/crazytechgeek.info/html/index.html

Collez le contenu ci-dessous dans l’exemple de fichier de test.

<html>
    <head>
        <title>Welcome to your_domain!</title>
    </head>
    <body>
        <h1>Bravo! Your server block is working as expected!</h1>
    </body>
</html>

Enregistrez les modifications et quittez le fichier.

21. Pour que le serveur Web Nginx serve le contenu que vous venez d'ajouter, vous devez créer un bloc serveur avec les directives appropriées. Dans ce cas, nous avons créé un nouveau bloc serveur à l'adresse :

sudo vim /etc/nginx/sites-available/crazytechgeek.info

Collez la configuration affichée.

server {
        listen 80;
        listen [::]:80;

        root /var/www/crazytechgeek.info/html;
        index index.html index.htm index.nginx-debian.html;

        server_name crazytechgeek.info  www.crazytechgeek.info;

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

Sauvegarder et quitter.

22. Activez maintenant le fichier de blocage du serveur en le liant au répertoire sites-enabled à partir duquel le serveur Nginx lit au démarrage.

sudo ln -s /etc/nginx/sites-available/crazytechgeek.info /etc/nginx/sites-enabled/

23. Pour que les modifications soient appliquées, redémarrez le serveur Web Nginx.

sudo systemctl restart nginx

24. Juste pour être sûr que toutes les configurations sont en ordre, exécutez la commande :

nginx -t

Si toutes les configurations sont en ordre, vous devriez obtenir le résultat ci-dessous :

25. Le serveur Web Nginx devrait maintenant servir le contenu de votre domaine. Encore une fois, accédez à votre navigateur et parcourez le domaine de votre serveur.

http://domain-name

Votre contenu personnalisé dans le répertoire de votre domaine sera diffusé comme indiqué.

Fichiers de configuration Nginx importants

Avant de conclure, il est essentiel d'examiner certains des fichiers de configuration importants associés à Nginx.

Fichiers de configuration Nginx

  • /etc/nginx/nginx.conf : il s'agit du fichier de configuration principal. Vous pouvez modifier les paramètres pour répondre aux exigences de votre serveur.
  • /etc/nginx/sites-available : il s'agit du répertoire qui stocke la configuration du bloc serveur. Nginx n'utilise les blocs de serveur que s'ils sont liés au répertoire activé par les sites.
  • /etc/nginx/sites-enabled : le répertoire contient des blocs de serveur Nginx par site déjà activés.

Fichiers journaux Nginx

Il existe deux fichiers journaux principaux que vous pouvez utiliser pour dépanner votre serveur Web Nginx :

  • /var/log/nginx/access.log : ceci enregistre toutes les requêtes adressées au serveur Web.
  • /var/log/nginx/error.log : il s'agit du fichier journal des erreurs et il enregistre toutes les erreurs rencontrées par Nginx.
Conclusion

Nous sommes arrivés à la fin de ce tutoriel. Nous avons montré comment installer Nginx sur Ubuntu 20.04 et comment configurer des blocs de serveur Nginx pour servir le contenu de votre domaine. Vos commentaires sont les bienvenus.