NGINX - Configuration de sites et catch all
Alasta 19 Juillet 2015 nginx ngnix linux shell
Description : Voici un exemple de configurations avec plusieurs sites et un catch all.
Contexte :
Nous partirons d’un système de base sous CentOS 6 avec NGINX d’installé.
Ce billet démontre la facilité de NGINX à gérer le catch all contrairement à Apache.
Configuration :
Création de l’arborescence des sites
$ cd /usr/share/nginx/html
$ sudo mkdir default site1 site2
$ sudo echo "Bienvenue sur le site default" > default/index.html
$ sudo echo "Bienvenue sur le site site1" > site1/index.html
$ sudo echo "Bienvenue sur le site site2" > site2/index.html
Création des Virtual Hosts
le catch all : default
$ sudo cd /etc/nginx/conf.d
$ sudo cp default.conf default.conf.origine
$ sudo vi default.conf
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html/default;
index index.html index.htm;
}
}
site 1
server {
server_name site1.alasta.lab;
location / {
root /usr/share/nginx/html/site1;
index index.html index.htm;
}
}
site 2
server {
server_name site2.alasta.lab;
location / {
root /usr/share/nginx/html/site2;
index index.html index.htm;
}
}
Tests de bon fonctionnement :
Pré-requis
Il faut pour cela que la résolution DNS fonctionne, par l’ajout des enregistrements dans le DNS des clients ou le fichier hosts de chaque client.
Tests
$ curl http://site1.alasta.lab
Bienvenue sur le site site1
$ curl http://site2.alasta.lab
Bienvenue sur le site site2
$ curl http://default.alasta.lab
Bienvenue sur le site default
$ curl http://test.alasta.lab
Bienvenue sur le site default
$ curl http://www.alasta.lab
Bienvenue sur le site default
On voit bien que les virtual hosts site1 et site2 sont configurés et que le reste va sur default.