2010-10-07 5 views
1

J'essaie de déployer une application Rails multisite avec différentes vues et dossiers publics pour chaque site. Disons que nous avons www.foo.com et www.bar.com. Dans mon répertoire RAILS_ROOT, j'ai un répertoire [sites] avec deux dossiers dans [foo] et [bar] chaque dossier est constitué d'un dossier [public] et [views].Rails MultiSite App + configuration nginx

Ma configuration nginx doit être quelque chose comme ça:

server { 
     listen 80; 
     server_name www.foo.com; 
     root RAILS_ROOT/sites/bar/public; 
     passenger_enabled on; 
     rails_env development; 
} 


server { 
     listen 80; 
     server_name www.bar.com; 
     root RAILS_ROOT/sites/bar/public; 
     passenger_enabled on; 
     rails_env development; 
} 

Mon problème est que nginx ne peut pas trouver en fait RAILS_ROOT comme il attend une hiérarchie habituelle pour le dossier public RAILS_ROOT/public. Une solution pour cela?

+0

RAILS_ROOT est une variable du cadre des rails. Nginx ne peut pas le voir. – hellvinz

+0

Pouvez-vous poster des erreurs, etc? C'est le déploiement standard pour Rails sur nginx; cependant, si vous avez seulement un dossier 'public' et 'views' (et que vous n'avez pas de fcgi inhabituel), le passager est probablement incapable de démarrer l'application parce que, euh, des tonnes sont manquantes. ;) – mway

+0

En fait, le problème est que nginx ne peut pas localiser la partie principale de l'application car il est situé 2 répertoires parents plus que la normale. Normalement, nous avons path/to/app/public alors que j'ai le chemin/to/app/sites/foo/public. J'ai besoin de dire à nginx de regarder là-bas pour trouver l'application de rails de base. Comment puis je faire ça?? – Dimitris

Répondre

0

Quand je referer à RAILS_ROOT Je ne veux pas dire la variable que je l'utilise au lieu d'écrire un chemin spécifique .../.../

Questions connexes