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だった
おかげで
静的な 'index.html'を持っている場合、RubyとSinatraはここでどのように考慮されますか? – tadman
もし、私がtest.htmlにreneameしても、とにかく動作していません。 Sinatraは '/' getでそのようなファイルを提供しています。 –
あなたが 'config.ru'をどこかに持っていない限り、PassengerはあなたがRackアプリケーションを持っていることを知る方法がありません。 – tadman