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.
É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
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
OutputAvailable 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
OutputStatus: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx HTTP ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx HTTP (v6) ALLOW Anywhere (v6)
Vérifiez avec le système systemd
init pour vous assurer que le service fonctionne en tapant :
- systemctl status nginx
Outputnginx.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 :
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 :
<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 :
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 :
...
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 :
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.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!