Comment installer NGINX sur Ubuntu 20.04 et héberger le site Web

NGINX est un logiciel de serveur Web open source. Vous pouvez déployer NGINX en tant que serveur Web autonome ou en tant que proxy devant d’autres serveurs Web (essentiellement un proxy inverse). Nginx est l’un des meilleurs serveurs Web pour héberger un site Web à fort trafic.

Dans ce tutoriel, nous allons nous concentrer sur installer NGINX en tant que serveur Web autonome sur Ubuntu 20.04.

Installer NGINX sur Ubuntu 20.04

Exécuter d’abord sudo apt-get mise à jour pour récupérer des informations sur les packages nouveaux et mis à jour avant de procéder à l’installation de NGINX.

Nginx est disponible dans le référentiel de packages Ubuntu. Il est donc facile d’installer Nginx à l’aide de la commande suivante :

$ sudo apt-get install nginx

Vérifier l’état du service NGINX

Faisons une vérification rapide pour confirmer l’état du service NGINX, exécutez la commande suivante :

$ sudo systemctl status nginx

Vérifier l’état de Nginx sur Ubuntu 20.04

La sortie de la commande ci-dessus confirme que NGINX est actif et en cours d’exécution. Si vous obtenez un message indiquant que NGINX est inactif, non démarré ou en cours d’exécution, vous pouvez démarrer manuellement le service NGINX en exécutant la commande suivante.

$ sudo systemctl start nginx

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

$ sudo dpkg -l nginx

vérifier la version nginx UbuntuVérifiez la version de Nginx sur Ubuntu

La sortie montre Nginx version 1.18.0 fonctionne sur Ubuntu 20.04, au moment de la rédaction de ce didacticiel.

Tester le serveur Web NGINX

Après avoir confirmé que le service NGINX est actif et en cours d’exécution, vous pouvez maintenant tester le serveur Web en ouvrant votre navigateur Web préféré et en entrant l’adresse IP de votre serveur (https://your_server_ip) sur lequel NGINX est installé.

Vous devriez voir la page Web par défaut intitulée “Bienvenue à Nginx!

Page Web par défaut de NGINXPage Web par défaut de NGINX

Vérifiez également que le port approprié est ouvert sur votre pare-feu. Par exemple, si vous avez activé le Pare-feu simple (ufw) sur votre serveur Ubuntu, vous devez essayer de mettre à jour les règles de pare-feu pour permettre à NGINX de communiquer sur le port 80 et/ou 443 comme suit.

Pour autoriser NGINX sur le port 80 :

$ sudo ufw allow 'Nginx HTTP'

Pour autoriser NGINX sur le port 443 :

$ sudo ufw allow 'Nginx HTTPS'

Configurer les blocs de serveur NGINX

Si vous souhaitez héberger plusieurs sites Web sur le même serveur Web NGINX, vous devrez alors configurer des blocs de serveur. Les blocs de serveur sont également appelés hôtes virtuels (principalement dans Apache).

NGINX est préconfiguré avec un seul bloc de serveur et c’est là que les détails de configuration pour le site Web par défaut (/etc/nginx/sites-available) sont stockés (/var/www/html).

Nous allons jeter un coup d’oeil.

$ sudo ls -l /etc/nginx/sites-available
total 8
-rw-r--r-- 1 root root 2416 Mar 26 2020 default

Exécutez la commande suivante pour afficher le contenu du fichier de bloc de serveur par défaut.

$ sudo cat /etc/nginx/sites-available/default | more

Appuyez sur la barre d’espace de votre clavier pour faire défiler une page à la fois. Vous verrez que le fichier contient les détails de configuration du serveur par défaut tels que le numéro de port d’écoute, la racine du document (c’est-à-dire le dossier de base pour stocker le contenu du site Web), le fichier d’index et le nom du serveur.

Vous devriez également voir une section intitulée Configuration de l’hôte virtuel comme indiqué ci-dessous. Vous pouvez configurer votre site Web supplémentaire ici, mais il est préférable de créer un fichier de bloc de serveur séparé et de laisser celui par défaut tel quel.

/etc/nginx/sites-available/default

# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
#server {
# listen 80;
# listen [::]:80;
#
# server_name example.com;
#
# root /var/www/example.com;
# index index.html;
#
# location / {
# try_files $uri $uri/ =404;
# }
#}

En attendant, copiez l’exemple d’informations de configuration ci-dessus et enregistrez-le dans un éditeur de texte. Nous utiliserons ces informations prochainement.

Créer une racine de site Web

Ensuite, vous devrez créer un dossier racine sous / var / www pour stocker le contenu de votre site Web supplémentaire. Pour example, je vais créer un dossier nommé domain1.com pour mon site web domain1.com.

Noter: Vous devez remplacer domain1 par votre propre nom de domaine enregistré. Vous devez également mettre à jour les enregistrements DNS pour faire pointer votre nom de domaine vers l’adresse IP publique de votre serveur Web NGINX.

sudo mkdir /var/www/domain1.com

Créer un fichier d’index

Le fichier d’index est la page Web principale qui s’affiche lorsque vous ouvrez un site Web. Exécutez la commande suivante pour créer un fichier d’index pour votre site Web supplémentaire.

$ sudo nano /var/www/domain1.com/index.html

J’utilise nano dans ce example mais vous pouvez utiliser votre éditeur de texte préféré. Ensuite, vous pouvez copier et coller le code HTML suivant à des fins de test.

<!DOCTYPE html>
<html>
<head>
<title>Welcome to Domain1!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to Domain1!</h1>
<p>If you see this page, the Domain1 website is working!</p>
</body>
</html>

Save changements et close l’éditeur de texte.

Créer un bloc de serveur

L’étape suivante consiste à créer un fichier de bloc de serveur pour conserver les détails de configuration du site Web supplémentaire. Exécutez la commande suivante.

$ sudo nano /etc/nginx/sites-available/domain1

Copiez l’exemple d’informations de configuration de l’hôte virtuel que vous avez enregistré précédemment et collez-le dans le nouveau fichier. À partir de la ligne « serveur », assurez-vous de supprimer tous # symboles pour décommenter les directives. N’oubliez pas non plus de remplacer “domain1” par votre propre nom de domaine enregistré en conséquence.

# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
server {
listen 80;
listen [::]:80;

server_name domain1.com www.domain1.com;

root /var/www/domain1.com;
index index.html;

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

Save changements et close ce fichier.

Activer le blocage du serveur

Pour informer NGINX que le site Web supplémentaire est disponible, exécutez la commande suivante pour créer un lien symbolique vers le fichier de blocage du serveur.

$ ln -s /etc/nginx/sites-available/domain1 /etc/nginx/sites-enabled

Testez votre configuration

Courir sudo nginx -t pour tester la configuration de votre bloc de serveur. Vous devriez voir un message indiquant que tout va bien.

$ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Vous pouvez courir sudo recharger nginx de service pour recharger les fichiers de configuration.

Testez votre nouveau site web

Ouvrez un navigateur Web et entrez votre nouvelle adresse de site Web. Vous devriez voir le contenu du fichier d’index créé pour votre nouveau site Web, plutôt que la page Web par défaut de NGINX.

Hébergement de site Web supplémentaire à l'aide d'un bloc de serveurHébergement de site Web supplémentaire à l’aide d’un bloc de serveur

Commandes de base pour contrôler NGINX

Apprenons les commandes de base de Nginx pour gérer votre serveur Web.

le redémarrage La commande arrêtera le service, puis le redémarrera.

$ sudo systemctl restart nginx

le recharger La commande indique à NGINX de recharger ses fichiers de configuration mais sans arrêter le service.

$ sudo systemctl reload nginx

le arrêter La commande arrêtera le service NGINX.

$ sudo systemctl stop nginx

À activer le service Nginx pour démarrer au démarrage, exécutez

$ sudo systemctl enable nginx

Remarque : par défaut, le service Nginx est activé pour démarrer automatiquement au démarrage du serveur.

Configuration de base de NGINX et fichiers journaux

/etc/nginx — Contient tous les fichiers de configuration NGINX

/etc/nginx/sites-disponibles Contient des fichiers de blocage de serveur qui stockent les détails de configuration pour servir un ou plusieurs sites Web

/etc/nginx/sites-enabled — Contient des fichiers de configuration pour un ou plusieurs sites Web activés

/etc/nginx/nginx.conf — Fichier de configuration principal qui lit également les directives de configuration dans d’autres fichiers

/var/log/nginx/access.log — Emplacement par défaut pour stocker des informations sur toutes les visites sur votre site Web

/var/log/nginx/error.log — Emplacement par défaut pour le stockage des erreurs NGINX

Conclusion

En suivant ce guide, vous devriez pouvoir faire fonctionner NGINX avec un ou plusieurs sites Web sur votre serveur Ubuntu 20.04. Mais si vous rencontrez des problèmes, n’hésitez pas à nous le faire savoir dans la section commentaires ci-dessous et nous ferons de notre mieux pour vous aider.