2017-07-28 9 views
1

Nginxの下でruby(sinatra)スクリプトを実行しようとしています。 マイフォルダ構造は次のとおりです。NginxはSinatraアプリケーションの静的ファイルのみを扱います

worker_processes 1; 
events { 
    worker_connections 1024; 
} 

http { 
    passenger_root /home/my_user/.rvm/gems/ruby-2.4.1/gems/passenger-5.1.6; 
    passenger_ruby /home/my_user/.rvm/gems/ruby-2.4.1/wrappers/ruby; 

    include  mime.types; 
    default_type application/octet-stream; 
    sendfile  on; 

    server { 
    listen  80; 
    server_name xxx.xxx.xx.xx; 

    root /www/public; 
    passenger_enabled on; 
    } 
} 

しかし、私はちょうどxxx.xxx.xx.xx/img.jpg、ノースクリプトを務め取得しています:

/www (775) 
/www/public (775) 
/www/public/img.jpg (644) 
/www/app.rb (775) 
/www/index.html (775) 

私nginx.confです。
xxx.xxx.xx.xx/index.htmlはエラー404を返し、xxx.xxx.xx.xxはエラー403を返します。

nginxサーバーが実行されているユーザー(フォルダ/wwwとその中のファイルは、nginxを実行しているユーザーとは異なるユーザー)の下で重要です。だから、コンフィギュレーションを@tadmanのおかげでOKだった

おかげで

+0

静的な 'index.html'を持っている場合、RubyとSinatraはここでどのように考慮されますか? – tadman

+0

もし、私がtest.htmlにreneameしても、とにかく動作していません。 Sinatraは '/' getでそのようなファイルを提供しています。 –

+0

あなたが 'config.ru'をどこかに持っていない限り、PassengerはあなたがRackアプリケーションを持っていることを知る方法がありません。 – tadman

答えて

1

、問題はちょうどconfig.ruファイルがありませんでした。

関連する問題