「エラーコメント」の例では、RAILS ENVは変更されません.

1567 ワード

エラー


インスタンスにRuby On Railsプロジェクトを配備する場合、profile.dのRAILS ENVを他の値に変更したが、正常に反映されなかった.もっと詳しく説明する
profile.dの任意のファイルに
export RAILS_ENV=test
設定時に実際のコードからENVが出力された場合、他の設定は正常ですが、RAILS ENVは他の値に出力されたエラーです.
Railsもenvを使用して環境情報を取得し、ブランチ区切りコードを使用するため、環境に応じて異なるコードを実行して同じコードを実行する必要があります.

私の頭が理解できないのでずっと怒っていたその時...導入中、乗客を実行するときに実行されるのはテストではなく、他の環境であることがわかりました.

解決策


RorサーバはNginx+Passengerで構成され、RAILS ENVは乗客によって設定されています.
乗客とは何ですか.
WEB、WAS付きサーバー、nodejsとnginxパッケージをサポート
旅客とnginxはほぼ統合されています
乗客はエンジンXの要求に応じてノードに転送し、複数のノードプロセッサを管理し、負荷バランスを提供する.
つまり、私がテストで環境変数を指定して配置したとしても、乗客たちはRAILS ENVを他の環境に設定しているので、テストでは見られませんでした.
関連するものは乗客関連のdocsで見ることができます.
➡️ https://www.phusionpassenger.com/library/config/nginx/reference/
이 옵션은 현재 응용 프로그램에 대해 다음 환경 변수의 값을 설정합니다.

RAILS_ENV
RACK_ENV
WSGI_ENV
NODE_ENV
PASSENGER_APP_ENV
일부 웹 프레임워크(예: Rails 및 Connect.js)는 이러한 환경 변수 중 하나의 값에 따라 동작을 조정합니다.

승객은 기본값을 프로덕션으로 설정합니다. (실가동 환경에서 실행하는 것이 아니라) 애플리케이션을 개발하는 경우에는 이 설정을 개발로 설정해야 합니다.

기타 환경변수를 설정하려면 passenger_env_var를 사용하십시오.

또한 이 옵션을 설정하면 응용 프로그램 환경 이름이 기본 응용 프로그램 그룹 이름에 추가되므로 여러 버전의 응용 프로그램을 서로 다른 응용 프로그램 환경 이름으로 실행할 수 있습니다.
旅客輸送app envをtestに変えてよかった🤕
やはりパソコンは嘘をつかない.