Quelle est la différence entre les dossiers « sites-enabled » et « sites-available » dans Nginx ?
Les deux dossiers sites-available
et sites-enabled
sont utilisés pour gérer la configuration des sites web.
sites-available
Dans un premier temps, nous allons créer un fichier de configuration spécifique à un site internet dans le dossier sites-available
.
Il sera écrit, mais il ne sera pas activé, car il est dans le fichier sites-available
.
😲 Rappelez-vous de la façon dont nous avons configuré le fichier nginx.conf. Pour la dernière directive, nous avons utilisé la valeur : include /etc/nginx/sites-enabled/*;
. Il n’y aucune trace du dossier sites-available
.
Il suffirait de changer sites-enabled
par sites-available
me direz-vous. Et cela fonctionnerait. 🚨 Mais ce n’est pas de cette façon que l’on précède dans Nginx !
Comment faire pour l’activer ?
Nous allons voir ça avec le sites-enabled
sites-enabled
Ce dossier a été inclus dans le fichier de configuration de Nginx, nginx.conf
.
Il permet d’activer les fichiers de configurations présents dans le dossier sites-available
.
Comment activer la configuration des sites ?
Nous pouvons activer la configuration des sites grâce à des liens symboliques (des raccourcis) qui pointent vers les fichiers dans le dossier sites-available
.
Dans l’exemple ci-dessus, nous avons préparé la configuration de trois sites, mais nous en avons activés que deux. En effet deux liens symboliques qui pointent vers les fichiers de configuration correspondants, ont été créés.
Créer un lien symbolique dans le dossier sites-enabled
Dans cette leçon, nous allons créer un seul fichier de configuration. Nous pourrons ensuite créer un lien symbolique pour l’activer.
Placez-vous sur le dossier sites-available
.
cd /etc/nginx/sites-available
Créer un fichier monsite
sans aucune extension. Le nom du fichier est arbitraire. Pour votre projet personnel, vous pourrez choisir le ou les noms que vous désirez. Faites juste attention que les choses soient faites avec ordre et que vous vous y retrouviez vous et votre équipe.
touch monsite
Nous allons tout de suite créer le lien symbolique pour activer ce fichier de configuration (même si pour l’instant il n’en contient rien du tout 😜)
Placez dans le dossier sites-enabled
.
cd /etc/sites-enabled
Et nous allons créer le lien symbolique.
ln -s /etc/nginx/sites-available/monsite /etc/nginx/sites-enabled/monsite
Vérifier que tous les fichiers sont bien présents
cd /etc/nginx/sites-available
ls -l
-rw-r--r-- 1 root root 4255 Feb 13 14:34 default
-rw-r--r-- 1 root root 0 Feb 22 08:14 monsite
cd /etc/nginx/sites-enabled
ls -l
lrwxrwxrwx 1 root root 34 Feb 13 14:02 default -> /etc/nginx/sites-available/default
lrwxrwxrwx 1 root root 34 Feb 22 08:14 monsite -> /etc/nginx/sites-available/monsite
Tous les fichiers ont bien été créés 👍. C’est parfait !
Vous pouvez également constater les liens symboliques qui pointent bien vers les bons fichiers.
Il y a également le fichier défaut
qui a été généré automatiquement par Nginx. Ne tenez pas compte de celui-ci.
Nous pouvons continuer à apprendre d’autres directives que nous mettrons dans le fichier monsite
.