GNU/Linux >> Tutoriels Linux >  >> Linux

Comment installer NGINX sur Ubuntu 18.04

NGINX est un serveur web performant utilisé notamment pour gérer des fichiers statiques et comme reverse proxy. Grâce à sa polyvalence, NGINX peut être utilisé dans n'importe quelle situation. Dans ce guide, vous verrez comment l'installer sur votre serveur et comment le configurer pour deux domaines ou plus.

Tout d'abord, connectez-vous à votre serveur via une connexion SSH. Si vous ne l'avez pas encore fait, il est recommandé de suivre notre guide pour vous connecter en toute sécurité avec SSH. Dans le cas d'un serveur local, passez au point suivant et ouvrez le terminal de votre serveur.

Installation de NGINX

Mettre à jour les dépôts de distribution pour être sûr de télécharger la dernière version de NGINX :

$ sudo apt update

Exécutez la commande suivante pour installer le package NGINX :

$ sudo apt install nginx

Une fois l'installation terminée, lancez le service et installez-le sur le système :

$ sudo systemctl start nginx

$ sudo systemctl enable nginx

Configuration du pare-feu

En cas de pare-feu sur votre système, configurez-le pour autoriser le trafic HTTP et le trafic HTTPS vers votre machine.

Lorsque vous utilisez le pare-feu UFW, des profils préinstallés sont fournis pour NGINX. Voyons donc comment les activer.

Pour vérifier les profils disponibles installés sur le pare-feu UFW, exécutez cette commande :

$ sudo ufw app list

Une liste semblable à la suivante s'affichera à l'écran :

Available applications:

  Dovecot IMAP

  Dovecot POP3

  Dovecot Secure IMAP

  Dovecot Secure POP3

  Nginx Full

  Nginx HTTP

  Nginx HTTPS

  OpenSSH

  Postfix

  Postfix SMTPS

  Postfix Submission

Pour autoriser le trafic HTTP (Port 80) et HTTPS (Port 443), utilisez le profil "Nginx Full".

Vérifiez les informations de votre profil comme indiqué ci-dessous :

$ sudo ufw app info "Nginx Full"

La description du profil à l'écran apparaît :

Profile: Nginx Full

Title: Web Server (Nginx, HTTP + HTTPS)

Description: Small, but very powerful and efficient web server
                Ports:

  80,443/tcp

Après avoir vérifié le profil, vous serez prêt à l'activer :

$ sudo ufw allow in "Nginx Full"

À ce stade, la configuration de NGINX et du pare-feu est terminée. Testez le serveur Web en visitant l'adresse http:// ou dans le cas d'un serveur local http:// localhost . Si la procédure a été effectuée correctement, l'écran NGINX par défaut s'affichera.

Configuration correcte de deux domaines/sites Web :

Ci-dessous, il est montré comment configurer deux hôtes virtuels (appelés "blocs de serveur") pour avoir deux espaces Web complètement séparés. Dans cet exemple, nous utiliserons deux domaines fictifs :

  • www.votredomaine.com

  • www.votredomaine2.com

Les deux enregistrements A doivent pointer vers l'adresse IP publique de votre serveur.

Commencez par créer tous les dossiers nécessaires pour contenir les fichiers publics de vos sites Web :

$ sudo mkdir /var/www

$ sudo mkdir /var/www/yourdomain.com

$ sudo mkdir /var/www/yourdomain.com/htdocs

$ sudo mkdir /var/www/yourdomain.com/logs
                $ sudo mkdir /var/www/yourdomain2.com

$ sudo mkdir /var/www/yourdomain2.com/htdocs

$ sudo mkdir /var/www/yourdomain2.com/logs

En tant que contenu temporaire, copiez la page NGINX par défaut dans les dossiers htdocs de chaque domaine :

$ sudo cp /usr/share/nginx/html/* /var/www/yourdomain.com/htdocs/

$ sudo cp /usr/share/nginx/html/* /var/www/yourdomain2.com/htdocs/

Passez maintenant à la configuration proprement dite de NGINX. NGINX lit généralement tous les fichiers .conf du répertoire /etc/nginx/conf.d/, poursuivez en créant deux fichiers (un par domaine), en les nommant :

  • votredomaine_com.conf

  • votredomaine2_com.conf

Utilisez votre éditeur de texte préféré pour écrire la configuration suivante dans le fichier yourdomain_com.conf :

server {
                        

        listen 80;
                        

        server_name yourdomain.com *.yourdomain.com;
                        

        root /var/www/yourdomain.com/htdocs;
                        

        access_log /var/www/yourdomain.com/logs/access.log main;

        error_log /var/www/yourdomain.com/logs/error.log warn;

}

Évidemment, vous devez également utiliser une configuration similaire pour votredomaine2_com.conf :

server {
                        

        listen 80;
                        

        server_name yourdomain2.com *.yourdomain2.com;
                        

        root /var/www/yourdomain2.com/htdocs;
                        

        access_log /var/www/yourdomain2.com/logs/access.log main;

        error_log /var/www/yourdomain2.com/logs/error.log warn;

}

En plus de la configuration du dossier racine pour les fichiers du domaine virtuel, il existe également des paramètres pour configurer les chemins des fichiers journaux (à la fois d'accès et d'erreur) afin d'avoir un journal par domaine. Normalement, NGINX enregistre tous les journaux dans le répertoire /var/log/nginx/ mais dans le cas d'un domaine multiple, le résultat peut prêter à confusion.

Les journaux peuvent devenir trop volumineux avec le temps si leur chemin est modifié., Il est donc nécessaire de mettre en place une rotation des fichiers afin d'éliminer les contenus les plus anciens. Pour cela, utilisez le logiciel logrotate.

Pour ajouter de nouveaux fichiers journaux dans les paramètres de logrotate, modifiez le fichier /etc/etc/logrotate.d/nginx :

/var/log/nginx/*log {

    create 0644 nginx nginx

    daily

    rotate 10

    missingok

    notifempty

    compress

    sharedscripts

    postrotate

        /bin/kill -USR1 `cat /run/nginx.pid 2>/dev/null` 2>/dev/null || true

    endscript

}

Comme vous pouvez le voir, il existe déjà une configuration pour les fichiers NGINX dans /var/log/nginx. Procédez en modifiant la première partie du fichier comme suit :

/var/log/nginx/*log

/var/www/*/logs/* {

    ...

}

Une fois cette modification effectuée, logrotate gérera tous les fichiers dans les dossiers de journaux de /var/www/mondomaine.it et /var/www/votredomaine.com (et tous les autres), sans avoir à vous soucier de tout autre domaine qui pourrait être ajouté à l'avenir.

Une fois terminé, redémarrez le service pour appliquer les modifications :

$ sudo systemctl reload nginx

Linux
  1. Comment installer R sur Ubuntu 20.04

  2. Comment installer Nginx sur Ubuntu 16.04

  3. Comment installer Nginx sur Ubuntu 18.04

  4. Comment installer LEMP sur Ubuntu 18.04

  5. Installer Nginx sur Ubuntu

Comment installer Go dans Ubuntu 20.04

Comment installer Go sur Ubuntu 22.04

Installer Nginx sur Ubuntu 18.04

Comment installer Nginx sur Ubuntu 14.04

Comment installer NGINX sur Ubuntu 20.04

Comment installer Nginx sur Ubuntu 22.04