Nginx : astuces en hébergement mutualisé

Boris HUISGEN
Boris HUISGEN
|

Une instance nginx est capable d’héberger plusieurs sites web. Quelques astuces existent pour faciliter la configuration d’un hébergement mutualisé.

Inclusion multiple des fichiers de configuration

L’inclusion de fichiers de configuration est supporté par l’option include. En ajoutant un wildcard au chemin d’inclusion, celle-ci devient dynamique : l’ensemble des fichiers est donc inclu. De ce fait, il est pratique de de regrouper l’ensemble des fichiers de configuration dédié à chaque site dans un répertoire vhosts.

Par exemple :

1http {
2    # ...
3
4    # virtual hosts
5    include /usr/local/etc/nginx/vhosts/*.conf;
6}

Tous les fichiers de configuration du répertoire vhosts seront alors inclus. Si un vhost doit être temporairement désactivé, l’extension de son fichier sera à modifier.

Utilisation du module FastCGI

Le module FastCGI nécessite l’ajout d’options pour chaque hôte. Pour limiter les options répétitive, il est possible de les déclarer dans le fichier commun du module.

Par exemple, pour ce vhost PHP :

1location ~ \.php$ {
2    fastcgi_pass unix:/tmp/fcgi-php.sock;
3    fastcgi_index index.php;
4    include fastcgi_params;
5}

Les options sont déportées dans le fichier commun du module :

1# Virtual hosts support
2fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

Il convient de remarquer l’utilisation des variables _\(document_root_ et _\)fastcgi_scriptname qui reprendront les valeurs réelles du vhost associé.

Boris HUISGEN
Boris HUISGEN
Blog owner
  • #nginx
  • #fastcgi