web-dev-qa-db-ja.com

Rails 3 + Nginx + Passenger-ルーティングインデックス

パブリックフォルダにindex.htmlファイルがありません。私のRails routesファイルはこれをルーティングします。マシンで「Railsサーバー」を実行すると正常に動作します。

アプリをデプロイしようとしています。パッセンジャーとnginxを実行していますローカルマシンでRailsサーバーを実行すると、正常に動作しますが、本番サーバーで静的ファイルにアクセスしようとすると、静的ファイルにアクセスしようとします。

これが私のnginxconfです:

worker_processes  1;
#pid        logs/nginx.pid;
events {
    worker_connections  1024;
}
http {
    passenger_root /usr/lib/Ruby/gems/1.9.1/gems/passenger-3.0.2;
    passenger_Ruby /usr/bin/Ruby;
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  mmjconsult.com;
        root /www/mmjs/public;
        access_log  logs/Host.access.log;
        passenger_enabled on;
    }
}

助けてくれてありがとう。ほんとうにありがとう。

1
Bijan

あなたはあなたの問題が何であったかを知りましたか?

私は実際に同じ問題に遭遇しました、そしてもちろんそれはすべて私のせいでした:私はアプリをデプロイするためにcapistranoを使用しています、そしてそれが「現在の」ディレクトリにあることを忘れました。だから代わりに

root /var/www/myapp/public;

アプリは実際にありました

root /var/www/myapp/current/public;

お役に立てれば。

Rgds、Rollo

1
Rollo Tomazzi