Nginx : astuces pour un hébergement mutualisé

Boris HUISGEN June 18, 2009

administration nginx fastcgi

Deux astuces dans le cadre d’un hébergement mutualisé de plusieurs sites avec Nginx.

En premier lieu, il est possible d’inclure des fichiers de configuration par l’option include. Ceci permet alors de créer un répertoire vhosts dédié aux fichiers de configuration de chaque site. Dans le fichier de configuration principal, il faut ajouter par ex :

http {
[...]
    # virtual hosts
    include /usr/local/etc/nginx/vhosts/*.conf;
}

Tous les fichiers .conf du répertoire vhosts seront alors inclus. Si un vhost doit être temporairement désactivé, il suffit de changer l’extension de son fichier.

La deuxième astuce touche l’utilisation du module FastCGI. Dans chaque vhost, il faut déclarer le support FastCGI pour PHP, Perl, etc… Il est possible de limiter cette déclaration à ces lignes :

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

en rajoutant la ligne suivante dans le fichier fastcgi_params :

# Virtual hosts support
fastcgi_param SCRIPT_FILENAME   $document_root$fastcgi_script_name;

See also

Nginx : FastCGI CGI/Perl par socket UNIX
Read more
Nginx : FastCGI PHP par socket UNIX
Read more
Mac OS X : installation de Nginx / PHP / MySQL
Read more