2010-11-05 46 views
0

J'ai un répertoire contenant des projets FastCGI, pour être plus spécifiques différentes versions du même projet. Par exemple, il y a ver1 et ver2 répertoires situés à /some/dir/project/ et je veux qu'ils soient respectivement ver1.project.example.com et ver2.project.example.com.Plusieurs projets fastcgi en tant que sous-domaines pour nginx

Comment faire avec nginx sans créer de configs différentes pour chaque version et en supposant que de nouvelles versions peuvent être ajoutées dynamiquement?

Répondre

0

dans /etc/nginx/sites-enabled/project:

server { 
    server_name ~^(?<version>\w+)\.project\.example\.com; 
    root /some/dir/project/$version; 
    include fastcgi_params; 
} 

l'ajout d'un nouveau répertoire version à /some/dir/project/version99 fera automatiquement disponible à version99.project.example.com.

0

En ce qui concerne le problème de configuration multiple, il peut être résolu en utilisant un fichier d'inclusion nginx include fastcgi_params;. Je ne connais pas les emplacements variables de serveur et de socket, cependant, vous devriez probablement utiliser plusieurs clauses pour cela. Pour accélérer les choses, vous pouvez écrire quelque chose comme add-fcgi-subdomain.sh. J'ai résolu ce problème une fois en utilisant des modèles pour les configs nginx et les scripts shell pour les générer à partir de/var/www.