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

introduction

Nginx est l'un des serveurs Web les plus populaires au monde et est responsable de l'hébergement de certains des sites les plus importants et les plus achalandés d'Internet. Il est plus convivial que Apache dans la plupart des cas et peut être utilisé comme serveur Web ou proxy inverse.

Dans ce guide, nous expliquerons comment installer Nginx sur votre serveur Ubuntu 18.04. Pour une version plus détaillée de ce didacticiel, reportez-vous àHow To Install Nginx on Ubuntu 18.04.

Conditions préalables

Avant de commencer ce guide, vous devez disposer des éléments suivants:

  • Un serveur Ubuntu 18.04 et un utilisateur régulier non root avec les privilèges sudo. De plus, vous devrez activer un pare-feu de base pour bloquer les ports non essentiels. Vous pouvez apprendre comment configurer un compte utilisateur normal et mettre en place un pare-feu en suivant nosinitial server setup guide for Ubuntu 18.04.

Lorsque vous avez un compte disponible, connectez-vous en tant qu'utilisateur non root pour commencer.

[[step-1 -–- Installing-nginx]] == É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 à l'aide du système d'empaquetageapt.

Mettez à jour votre index de paquet local:

sudo apt update

Installez Nginx:

sudo apt install nginx

[[step-2 -–- Adjusting-the-firewall]] == Étape 2 - Réglage du pare-feu

Si vous avez suivi le didacticiel d'installation des serveurs prérequis, le pare-feu UFW est activé. Vérifiez les profils d'applicationufw disponibles avec la commande suivante:

sudo ufw app list
OutputAvailable applications:
  Nginx Full
  Nginx HTTP
  Nginx HTTPS
  OpenSSH

Activer le profil le plus restrictif qui autorisera toujours le trafic que vous avez configuré, autorisant le trafic sur le port80:

sudo ufw allow 'Nginx HTTP'

Vérifier le changement:

sudo ufw status
OutputStatus: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
Nginx HTTP                 ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
Nginx HTTP (v6)            ALLOW       Anywhere (v6)

[[step-3 -–- checking-your-web-server]] == Étape 3 - Vérification de votre serveur Web

Vérifiez auprès du système d'initialisation desystemd pour vous assurer que le service est en cours d'exécution 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: enabled)
   Active: active (running) since Fri 2018-04-20 16:08:19 UTC; 3 days ago
     Docs: man:nginx(8)
 Main PID: 2369 (nginx)
    Tasks: 2 (limit: 1153)
   CGroup: /system.slice/nginx.service
           ├─2369 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
           └─2380 nginx: worker process

Accédez à la page de destination par défaut de Nginx pour vérifier que le logiciel fonctionne correctement via votre adresse IP:

http://your_server_ip

Vous devriez voir la page d'arrivée par défaut de Nginx:

Nginx default page

[[step-4 -–- setting-up-server-blocks-recommended]] == Étape 4 - Configuration des blocs de serveur (recommandé)

Lorsque vous utilisez le serveur Web Nginx, vous pouvez utiliserserver blocks (similaire 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éexample.com, mais vous devriezreplace this with your own domain name. Pour en savoir plus sur la configuration d'un nom de domaine avec DigitalOcean, consultez nosintroduction to DigitalOcean DNS.

Créez le répertoire pourexample.com, en utilisant l'indicateur-p pour créer tous les répertoires parents nécessaires:

sudo mkdir -p /var/www/example.com/html

Attribuer la propriété du répertoire:

sudo chown -R $USER:$USER /var/www/example.com/html

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

sudo chmod -R 755 /var/www/example.com

Créez un exemple de pageindex.html en utilisantnano ou votre éditeur préféré:

nano /var/www/example.com/html/index.html

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

/var/www/example.com/html/index.html


    
        Welcome to Example.com!
    
    
        

Success! The example.com server block is working!

Enregistrez et fermez le fichier lorsque vous avez terminé.

Créez un nouveau bloc serveur à/etc/nginx/sites-available/example.com:

sudo nano /etc/nginx/sites-available/example.com

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

/etc/nginx/sites-available/example.com

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

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

        server_name example.com www.example.com;

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

Enregistrez et fermez le fichier lorsque vous avez terminé.

Activez le fichier en créant un lien à partir de celui-ci vers le répertoiresites-enabled:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

Deux blocs serveur sont désormais activés et configurés pour répondre aux requêtes en fonction de leurs directiveslisten etserver_name:

  • example.com: répondra aux demandes deexample.com etwww.example.com.

  • default: répondra à toutes les demandes sur le port80 qui ne correspondent pas aux deux autres blocs.

Pour éviter un éventuel problème de mémoire du compartiment de hachage qui peut résulter de l'ajout de noms de serveur supplémentaires, il est nécessaire d'ajuster une valeur unique dans le fichier/etc/nginx/nginx.conf. Ouvrez le fichier:

sudo nano /etc/nginx/nginx.conf

Trouvez la directiveserver_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 servir votre nom de domaine. Vous pouvez tester cela en accédant àhttp://example.com, où vous devriez voir quelque chose comme ceci:

Nginx first server block

Conclusion

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

Si vous souhaitez créer une pile d’applications plus complète, consultez cet article surhow to configure a LEMP stack on Ubuntu 18.04.

Related