nginxのを設定しない:5.0.28nginxのサーバー名の正規表現マッチはpassenger_app_env
OS:Ubuntuの私は自分自身に私のアプリケーションのそれぞれにシンボリックリンクしている14.04
passenger-install-nignx-module
旅客バージョンで構築されました環境フォルダのセット:
- /リポジトリ
- /development.manager
- /アプリ
- ...
- /test.manager
- /staging.manager
- ...
- /development.manager
実際のフォルダは私のHDD上の別の場所にあります。これらのフォルダはすべて、その1つのフォルダを指し示すシンボリックリンクです。
問題はnginxのが適切乗客の環境変数を設定していないようですということです。それが意味をなす(とnginxの設定ファイルは、物事が壊れたので、変わったの唯一のものです)しないアプリケーションエラーがスローログを確認します。また、状態を示すエラーページ:ステージングまたは生産 モードでは、このWebアプリケーションを実行しているので
は、エラーの詳細は、セキュリティ上の理由から、このWebページ から省略されています。
つまり、ログのroot
ディレクトリにdevelopment.manager
が表示されても、開発環境を使用していないことを示します。これは私がURL:http://manager-development/
を介してアクセスするときです。私は解決策は、私はhereだけでなく、おそらく誤って設定さnginxのブロックを提供する答えの組み合わせであるかもしれない気持ちを持って
server {
listen 80;
server_name ~^manager-(?<environment>development|test)$;
passenger_app_env $environment;
passenger_ruby /home/vagrant/.rvm/gems/[email protected]/wrappers/ruby;
passenger_enabled on;
root /home/vagrant/apps/$environment.manager/public;
client_max_body_size 30M;
}
:
は、ここに私のnginxのsites-enabled
設定から関連の抜粋です。
編集:私は明示的に変数が「上がらないようだと、私はこのアプローチをあきらめました...文字列として出力環境というアプリと、それは文字通り「$環境」だ私のレールに