Ldfa Posté(e) le 30 décembre 2019 Partager Posté(e) le 30 décembre 2019 Voici notre troisième article dans la série sur Nginx. Notre précédent article traitait de la configuration de base du serveur et de l’hébergement d’un site statique simple. Aujourd’hui nous allons aborder l’hébergement de plusieurs sites statiques sur une même machine. Pour les habitués du serveur Apache, c’est l’équivalent des hôtes virtuels (virtual hosts). Héberger plusieurs sites statiques Dans l’état actuel des choses, nous disposons d’un site statique http://www.slackbox.fr qui affiche la documentation de Slackware rangée dans l’arborescence /var/www/slackbox-site/html du serveur. Notre objectif pour aujourd’hui consiste à héberger le site http://www.unixbox.fr qui affichera la documentation de FreeBSD rangée dans l’arborescence /var/www/unixbox-site/html. Là aussi, il faudra veiller à configurer les DNS au préalable. $ cd /var/www/ $ sudo mkdir -pv unixbox-site/html mkdir: created directory ‘unixbox-site’ mkdir: created directory ‘unixbox-site/html’ $ sudo chown -R microlinux:microlinux unixbox-site/ $ cd unixbox-site/html/ $ wget -r -p -np -nH --cut-dirs=4 \ http://www.freebsd.org/doc/fr_FR.ISO8859-1/books/handbook/ Par ailleurs, la page par défaut de Nginx – c’est-à-dire le contenu de l’arborescence /usr/share/nginx/html – devra s’afficher à l’adresse http://sd-100246.dedibox.fr. Dans un premier temps, nous allons reconfigurer /etc/nginx/nginx.conf pour afficher cette page par défaut. # /etc/nginx/nginx.conf user nginx; worker_processes auto; events { worker_connections 1024; } http { include mime.types; server { listen 80 default_server; server_name sd-100246.dedibox.fr; root /usr/share/nginx/html; access_log /var/log/nginx/sd-100246.dedibox.fr-access.log; error_log /var/log/nginx/sd-100246.dedibox.fr-error.log; index index.html; try_files $uri $uri/ =404; } } À ce stade, nous pouvons déjà tester la configuration de la page par défaut avant de la prendre en compte. $ sudo nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful $ sudo systemctl reload nginx En théorie, rien ne nous empêche d’ajouter deux stances server { } à /etc/nginx/nginx.conf pour configurer les hébergements www.slackbox.fr et www.unixbox.fr. En pratique, nous allons délocaliser ces configurations respectives dans une paire de fichiers situés dans /etc/nginx/conf.d. C’est un peu la même chose que ce que nous faisons avec Apache et les fichiers de configuration situés dans /etc/httpd/conf.d. On obtient ainsi une configuration plus lisible, surtout pour les machines hébergeant un nombre important de sites. Nous devons d’abord indiquer à notre fichier de configuration principal qu’il faut tenir compte du contenu de /etc/nginx/conf.d. # /etc/nginx/nginx.conf user nginx; worker_processes auto; events { worker_connections 1024; } http { include mime.types; include conf.d/*.conf; server { listen 80 default_server; server_name sd-100246.dedibox.fr; root /usr/share/nginx/html; access_log /var/log/nginx/sd-100246.dedibox.fr-access.log; error_log /var/log/nginx/sd-100246.dedibox.fr-error.log; index index.html; try_files $uri $uri/ =404; } } La configuration du site www.slackbox.fr sera rangée dans le fichier /etc/nginx/conf.d/www.slackbox.fr.conf. # /etc/nginx/conf.d/www.slackbox.fr.conf server { listen 80; server_name slackbox.fr www.slackbox.fr; root /var/www/slackbox-site/html; access_log /var/log/nginx/www.slackbox.fr-access.log; error_log /var/log/nginx/www.slackbox.fr-error.log; index index.html; try_files $uri $uri/ =404; } De même, le fichier conf.d/www.unixbox.fr.conf contiendra la configuration du site www.unixbox.fr. # /etc/nginx/conf.d/www.unixbox.fr.conf server { listen 80; server_name unixbox.fr www.unixbox.fr; root /var/www/unixbox-site/html; access_log /var/log/nginx/www.unixbox.fr-access.log; error_log /var/log/nginx/www.unixbox.fr-error.log; index index.html; try_files $uri $uri/ =404; } Tester et recharger la configuration. $ sudo nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful $ sudo systemctl reload nginx Tester successivement l’affichage des sites hébergés dans un navigateur web. La suite au prochain numéro, où nous parlerons de l’hébergement de pages dynamiques. La rédaction de cette documentation demande du temps et des quantités significatives de café espresso. Vous appréciez ce blog ? Offrez un café au rédacteur en cliquant sur la tasse. Partager : Articles similaires Afficher l’article complet Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.