Avec l'installation de base de nginx, vos sites-available
ne contient qu'un seul fichier : default
comment le sites-available
et comment puis-je l'utiliser pour héberger plusieurs sites web (séparés) ?
Avec l'installation de base de nginx, vos sites-available
ne contient qu'un seul fichier : default
comment le sites-available
et comment puis-je l'utiliser pour héberger plusieurs sites web (séparés) ?
Pour ajouter une autre approche, vous pouvez utiliser un fichier distinct pour chaque domaine ou site virtuel que vous hébergez. Vous pouvez utiliser une copie du fichier par défaut comme point de départ pour chacun d'eux et le personnaliser pour chaque site.
Créez ensuite des liens symboliques dans sites-enabled. De cette façon, vous pouvez monter et descendre des sites en ajoutant ou en supprimant un lien symbolique et en lançant un service nginx reload.
Vous pouvez être créatif et utiliser cette méthode pour rediriger les sites vers une page en mode maintenance pendant que vous effectuez la maintenance du site.
La structure ressemble donc à ceci :
/sites-available/ (you can use obvious file names like this)
|
|-> a.mysite.com
|-> b.mysite.com
|-> someOtherSite.com
/sites-enabled/ (these are just symlinks to the real files in /sites-available)
|
|-> a.mysite.com
|-> b.mysite.com
Remarquez que, comme il n'y a que les deux premières entrées, ce sont les seuls éléments symlinkés dans sites-enabled
la troisième entrée, someOtherSite.com
est donc hors ligne.
Si vous regardez nginx.conf
vous trouverez include
qui inclut tous les fichiers du répertoire sites-enabled
répertoire. Ce répertoire stocke les liens symboliques vers les fichiers de configuration de sites-available
afin de pouvoir activer et désactiver facilement certaines parties de votre configuration.
Comme vous pouvez le constater, il n'y a pas de magie avec ces répertoires.
Si vous voulez héberger plusieurs sites web, vous devriez utiliser plusieurs server
blocs et/ou server_name
directive. Les tutoriels officiels sont ici : Noms des serveurs y Comment nginx traite une requête .
Vous faites un lien symbolique entre le fichier par défaut des sites disponibles et celui des sites activés. Ensuite, vous modifiez le site disponible afin d'inclure deux blocs de serveurs, chacun avec un nom de serveur différent, comme indiqué ci-dessous. Cela suppose que vous avez deux domaines appelés exemple.com et exemple2.com. Vous auriez également fait pointer vos @records vers l'adresse IP du serveur sur lequel vous avez installé nginx.
lien symbolique du site disponible vers un site activé
sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/default
éditer le fichier en utilisant l'éditeur de votre choix (vim pour moi)
sudo vi /etc/nginx/sites-available/default
Voici le contenu d'une conf nginx fonctionnelle, en supposant que vous exécutez des applications web sur les ports 4567 et 4568.
server {
server_name www.example.com
location / {
proxy_pass http://localhost:4567/;
}
}
server {
server_name www.example2.com
location {
proxy_pass http://localhost:4568/;
}
}
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.