単一の VPS 上にいくつかの Rails アプリがあります。それらすべてにnginx、パッセンジャー、mysql、およびレール4を使用しています。2 つのアプリは実稼働環境の ENV で正常に動作していますが、私のアプリの 1 つが実稼働環境に切り替わっていません。開発中のままです。展開には min を使用します。私はその理由を理解しようとして、これについて髪を引っ張ってきました。
私の/etc/nginx/nginx.conf
中で私は持っています
passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.in$
passenger_ruby /home/ME/.rbenv/shims/ruby;
passenger_app_env production;
各アプリのサーバーブロックは次のように同一です(「mysite」をそれぞれのアプリ名に置き換えます)
server {
listen 80;
# listen [::]:80 ipv6only=on;
server_name mysite.com www.mysite.com;
passenger_enabled on;
passenger_friendly_error_pages on;
rails_env production;
root /var/www/mysite.com/current/public;
# redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
誰でも助けることができますか?私はアプリのコードを何も変更していないと思いますが、私が変更した可能性のあるものを誰か思いつきますか? これを引き起こしている可能性のある変更可能なRailsファイルはありますか? ありがとう。
2014 年 7 月 13 日更新
サーバー上のアプリからファイルを完全に削除し、新たに再デプロイしましたが、まだ問題が発生しています。minaを使用してアプリをデプロイしていますが、実行mina deploy --trace
したところ、実行中と表示されます$ RAILS_ENV="production" bundle exec rake assets:precompile RAILS_GROUPS=assets
。また、フッター ( Rails.env.production?
) にテストを追加しましたが、false が返されます。助けてくれてありがとう。
更新 2014 年 7 月 14 日
そこで、それが自分のサーバーなのか自分のコードなのかをテストするために、rails server -e production
自分の開発マシンで実行しました。私はまだRails.env.production?
falseを返すことで同じ問題を抱えています。したがって、明らかに私のRailsコードの何かです。それでも、何を変更できたのかわかりません。