Tutorial

Comment installer Nginx sur Ubuntu 20.04 [Démarrage rapide]

NginxUbuntuQuickstartUbuntu 20.04

Introduction

Nginx est l'un des serveurs web les plus populaires au monde et se charge de l'hébergement de certains des sites les plus importants et les plus fréquentés sur Internet. Il est plus respectueux des ressources qu'Apache dans la plupart des cas, et peut être utilisé comme serveur web ou proxy inverse.

Dans ce guide, nous vous expliquerons comment installer Nginx sur votre serveur Ubuntu 20.04. Pour une version plus détaillée de ce tutoriel, veuillez vous référer à Comment installer Nginx sur Ubuntu 20.04.

Étape 1 – Installation de Nginx

Étant donné que Nginx est disponible dans les référentiels par défaut d'Ubuntu, vous pouvez l'installer en utilisant le système de packaging apt.

Mettez à jour votre index local des packages :

  • sudo apt update

Installez Nginx :

  • sudo apt install nginx

Étape 2 – Réglage du pare-feu

Si vous avez suivi le tutoriel de configuration préalable du serveur, alors le pare-feu UFW est activé. Vérifiez les profils d'application ufw disponibles avec la commande suivante :

  • sudo ufw app list
Output
Available applications: Nginx Full Nginx HTTP Nginx HTTPS OpenSSH

Activons le profil le plus restrictif qui permettra toujours le trafic que vous avez configuré, en autorisant le trafic sur le port 80 :

  • sudo ufw allow 'Nginx HTTP'

Vérifiez le changement :

  • sudo ufw status
Output
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)

Étape 3 – Vérification de votre serveur Web

Vérifiez avec le système systemd init pour vous assurer que le service fonctionne en tapant :

  • 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:> Active: active (running) since Mon 2020-05-04 22:45:26 UTC; 1min 17s ago Docs: man:nginx(8) Main PID: 13255 (nginx) Tasks: 2 (limit: 1137) Memory: 4.6M CGroup: /system.slice/nginx.service ├─13255 nginx: master process /usr/sbin/nginx -g daemon on; master> └─13256 nginx: worker process

Accédez à la page d'accueil par défaut de Nginx pour confirmer que le logiciel fonctionne correctement grâce à votre adresse IP :

http://your_server_ip

Vous devriez obtenir la page d'accueil par défaut de Nginx :

Page par défaut de Nginx

Étape 4 – Mise en place des blocs serveur (Recommandé)

Avec le serveur Web Nginx, vous pouvez utiliser des blocs de serveur (similaires aux hôtes virtuels dans Apache) pour encapsuler les détails de configuration et héberger plusieurs domaines à partir d'un seul serveur. Nous allons configurer un domaine appelé your_domain, mais vous devez le remplacer par le nom propre à votre domaine. Pour en savoir plus sur la configuration d'un nom de domaine avec DigitalOcean, veuillez vous reporter à notre Introduction au DNS DigitalOcean.

Créez le répertoire pour your_domain, en utilisant l'indicateur -p pour créer tout répertoire parent nécessaire :

  • sudo mkdir -p /var/www/your_domain/html

Attribuez la propriété du répertoire :

  • sudo chown -R $USER:$USER /var/www/your_domain/html

Les autorisations de vos racines web devraient être correctes si vous n'avez pas modifié votre valeur umask, mais vous pouvez vous en assurer en tapant :

  • sudo chmod -R 755 /var/www/your_domain

Créez un exemple de page index.html en utilisant nano ou votre éditeur préféré :

  • nano /var/www/your_domain/html/index.html

À l'intérieur, ajoutez l'exemple de HTML suivant :

/var/www/your_domain/html/index.html
<html>
    <head>
        <title>Welcome to your_domain!</title>
    </head>
    <body>
        <h1>Success!  The your_domain server block is working!</h1>
    </body>
</html>

Enregistrez et fermez le fichier lorsque vous avez terminé.

Créer un nouveau bloc serveur à /etc/nginx/sites-available/your_domain :

  • sudo nano /etc/nginx/sites-available/your_domain

Collez dans le bloc de configuration suivant, mis à jour pour notre nouveau répertoire et nom de domaine :

/etc/nginx/sites-available/your_domain
server {
        listen 80;
        listen [::]:80;

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

        server_name your_domain www.your_domain;

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

Enregistrez et fermez le fichier lorsque vous avez terminé.

Activez le fichier en créant un lien depuis celui-ci vers le répertoire sites-enabled :

  • sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/

Deux blocs serveur sont maintenant activés et configurés pour répondre aux requêtes en fonction de leurs directives listen et server_name :

  • your_domain : répondra aux demandes de your_domain et www.your_domain.
  • default : répondra à toutes les demandes provenant du port 80 qui ne correspondent pas aux deux autres blocs.

Pour éviter un éventuel problème de mémoire de compartiment de hachage pouvant résulter de l'ajout de noms de serveur supplémentaires, vous devez configurer une valeur unique dans le fichier /etc/nginx/nginx.conf. Ouvrez le fichier :

  • sudo nano /etc/nginx/nginx.conf

Recherchez la directive server_names_hash_bucket_size et supprimez le symbole # pour décommenter la ligne :

/etc/nginx/nginx.conf
...
http {
    ...
    server_names_hash_bucket_size 64;
    ...
}
...

Testez les erreurs de syntaxe :

  • sudo nginx -t

Redémarrez Nginx pour activer vos modifications :

  • sudo systemctl restart nginx

Nginx devrait maintenant vous présenter votre nom de domaine. Vous pouvez vérifier cela en allant sur http://your_domain où vous devriez voir quelque chose similaire à ceci :

Nginx first server block

Conclusion

Maintenant que votre serveur Web est installé, vous disposez de nombreuses options pour le type de contenu que vous voulez présenter et les technologies que vous souhaitez utiliser pour créer une expérience plus riche.

Si vous souhaitez construire une pile d'applications plus complète, consultez cet article sur Comment configurer une pile LEMP sur Ubuntu 20.04.

Creative Commons License