2010-02-03 5 views
3

Je suis en train de déployer une application dans un sous-répertoire /a sous www.myserver.com, en suivant les étapes décrites dans les documents passagers ici: http://www.modrails.com/documentation/Users%20guide.html#deploying_rails_to_sub_uripassagers + nginx: hébergement d'une application Rails dans un sous-répertoire

Cela semble fonctionner, mais les routes Rails attendent désormais toutes le sous-répertoire supplémentaire /a, de sorte que tenter d'accéder à la racine www.myserver.com/a me donne une erreur RoutingError. J'ai essayé de régler relative_url_root, mais cela ne change rien. Ai-je besoin d'ajouter le préfixe /a à chaque route dans mon fichier de routes?

+0

Je sais, je sais, c'est basique, mais avez-vous relancé nginx après avoir ajouté 'relative_url_root'? – wesgarrison

+0

Les instructions de btelles fonctionnent: à la fin, le problème a été causé par une interaction indésirable entre la gemme 'reverse_proxy_fix' et Rails. – jogloran

Répondre

3

Hmmm ... tout semble avoir bien fonctionné pour moi. Je l'ai juste essayé.

Êtes-vous sûr que vous suiviez les instructions Nginx au lieu des instructions Apache?

Assurez-vous de faire le lien souple et de modifier l'application « root » ... les instructions dire pour en faire le chemin absolu moins la partie « public »:

http { ...

server { 
    listen 80; 
    server_name g.local; 
    root /home/bernie/development/test; <- forgot to change this the first time I tried 
    passenger_enabled on; 
    passenger_base_uri /rails; 
} 

... 

}

est ici une image du résultat final ... aucune modification de l'itinéraire nécessaire:

alt text http://img190.imageshack.us/img190/8898/32380822.png

Voici les instructions Nginx:

http://www.modrails.com/documentation/Users%20guide%20Nginx.html#deploying_rails_to_sub_uri

+4

Si j'ai compris sa question, il veut avoir une application rails sous l'application racine ne change pas l'application racine du chemin en ajoutant un nom de répertoire superflue. Par exemple, si vous souhaitez héberger plusieurs applications différentes sous www.myhost.com comme www.myhost.com/app1 www.myhost.com/app2 www.myhost.com/app3 qui sont toutes différentes applications de rails. Votre réponse n'aborde pas cela mais ajoute un chemin supplémentaire à l'URL racine inutilement. –

Questions connexes