Parfois, on peut avoir besoin d'activer un nouveau site ou désactiver temporairement un site WEB sur Nginx.
Pour vous aider, les distributions Linux Debian ou Ubuntu proposent des répertoires sites-available et sites-enabled dans /etc/nginx.
A partir de là, on peut utiliser des commandes nginx pour activer ou désactiver un site.
Dans ce tutoriel, je vous explique comment activer un site WEB sur Nginx avec deux méthodes par sites-enabled et nginx-modsite.
sites-enabled dans nginx : comment ça marche
Dans les distributions Linux à base de Debian comme Ubuntu, on trouve deux sous-répertoire dans /etc/nginx :
- sites-available : qui stocke le fichier de configuration des sites
- sites-enabled : qui contient des liens symboliques vers le fichier de configuration de sites-available
Nginx joue les fichiers de configuration contenus dans sites-enabled.
Ainsi pour activer un site WEB, il suffit de créer le lien symbolique puis recharger la configuration nginx.
Ce fonctionnement n'a rien d'exceptionnel, puisque munin fonctionne de la même manière pour les plugins.
Apache2 fonctionne aussi comme cela pour activer des sites ou modules.
Le chargement de la configuration des sites se fait à travers un include présent dans /etc/nginx/nginx.conf :
include /etc/nginx/sites-enabled/*;
Lors de l'installation du paquet nginx, ce dernier créé le fichier /etc/nginx/sites-available/default avec une configuration par défaut.
Comment activer/désactiver un site sur Nginx manuellement
Activer un site sur nginx
- Créez le fichier de configuration de votre site dans sites-available, dans cet exemple monsupersite :
sudo vim /etc/nginx/sites-available/monsupersite
Ainsi, dans notre exemple, vous pouvez utiliser le nom supersite ou supersite.conf
- Puis créez la structure server de la configuration du site
server {
root /var/www/html2;
location / {
...
}
}
- Ensuite créez le lien symbolique dans /etc/nginx/sites-enabled avec la commande ln :
sudo ln -s /etc/nginx/sites-available/monsupersite /etc/nginx/sites-enabled/monsupersite
- Eventuellement vérifiez que le fichier est correctement créé :
ls -lh /etc/nginx/sites-enabled/
cat /etc/nginx/sites-enabled/monsupersite
- Vérifiez que la configuration nginx est correcte :
nginx -t
- Enfin recharger la configuration nginx à l'aide de la commande systemctl :
sudo systemctl nginx reload
Désactiver un site Nginx
La désactivation d'un site sur Nginx est très simple, il suffit de supprimer le lien symbolique.
- Vous pouvez supprimer le fichier de configuration à l'aide de la commande rm :
sudo rm /etc/nginx/sites-enabled/monsupersite
- Puis relancez la configuration de nginx :
sudo systemctl nginx reload
Comment activer/désactiver un site sur Nginx avec nginx-modsite
nginx-modsite est un script bash open source disponible sur github.
Ce dernier permet d'activer, désactiver des sites WEB Nginx et relancer la configuration.
OPTIONS | DESCRIPTION |
-e ou --enable | Activer un site |
-d ou --disable Disable site | Désactiver un site |
-x ou --edit | Editer un site |
-l ou --list | Lister la configuration des sites |
Pour télécharger le script nginx-modsite et le placer dans /usr/bin :
sudo wget https://raw.githubusercontent.com/ajsalkeld/nginx-modsite/master/nginx-modsite -O /usr/bin/nginx-modsite
sudo chmod +x /usr/bin/nginx-modsite
Pour activer un site on utilise l'option -e, par exemple, pour activer le site "monsupersite" :
sudo nginx-modsite -e monsupersite
Puis répondez oui avec la touche y pour recharcher la configuration nginx :
Would you like to reload the Nginx configuration now? (Y/n) y
Ensuite pour lister tous les sites de nginx et vérifiez que le site est bien actif, utilisez l'option -l :
sudo nginx-modsite -l
Available sites:
default
default.dpkg-old
monsupersite
Enabled Sites
default
monsupersite
Enfin pour désactiver le site "monsupersite" dans nginx, on utilise l'option -d :
sudo nginx-modsite -d monsupersite
Confirmez à nouveau la mise à jour de la configuration de nginx par la touche y :
Would you like to reload the Nginx configuration now? (Y/n) y
Liens
L’article Nginx : Comment activer un site avec sites-enabled ou nginx-modsite est apparu en premier sur malekal.com.
0 Commentaires