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?
RAILS_ROOT est une variable du cadre des rails. Nginx ne peut pas le voir. – hellvinz
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
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