乗客/nginxおよび403エラーに関連するSOに関するすべての質問と回答を読んだと思いますが、解決策につながるものはなかったので、ここに行きます...
Passenger (3.0.9) を搭載した Nginx (1.0.6) を Rails アプリで何ヶ月もの間、問題なく美しく実行しました。今夜、新しい機能を利用するために Passenger v3.0.9 から v3.0.12 にアップグレードすることにしました。提供された指示に従って (RVM を使用して) インストールを実行した後、Rails アプリが提供する URL にアクセスすると、恐ろしい 403 エラーが発生しました。nginx のログ ファイルでは、最初はパーミッション エラーだと思いました。
directory index of "/home/SimfoUsers/public/" is forbidden, client: , server: , request: "GET / HTTP/1.1", host: ""
しかし、考えられるすべての許可を確認した後、それが問題だとは思いません。問題は、実際にはパッセンジャーが何らかの形で実際に実行されておらず、ページがnginxによって「通常の」Webページとして提供されていることだと思います。これは、index.html ファイルを Rails パブリック ディレクトリ (/home/SimfoUsers/public/) に追加すると、nginx がこのファイルを期待どおりに提供するという事実によってサポートされます。また、passenger-memory-stats を実行すると、ゼロのパッセンジャー プロセスが実行されています。nginx は必要なときにパッセンジャー プロセスを自動的に生成するべきではありませんか、それともここで何かが完全に欠けていますか?
nginx.conf ファイルの関連部分は次のとおりです。
http {
passenger_root /usr/local/rvm/gems/ruby-1.9.2-p290@Simfo/gems/passenger-3.0.12;
passenger_ruby /usr/local/rvm/wrappers/ruby-1.9.2-p290@Simfo/ruby;
...
server {
listen 80;
server_name simfo.info www.simfo.info;
root /home/SimfoUsers/public;
passenger_enabled on;
}
}
基本的に、以前に作業していた構成ファイルから変更した唯一のことは、passenger の新しいバージョン (3.0.12) を反映するように、passenger_root および Passenger_ruby ディレクティブを更新することです。したがって、これが構成ファイルの問題である場合、私はそれを理解するのに本当に途方に暮れています...