我在单个 VPS 上拥有一些 Rails 应用程序。我使用的是 nginx、passenger、mysql 和 rails 4。其中两个应用程序在生产环境中运行良好,但我的一个应用程序没有切换到生产环境。它只是停留在开发中。我使用 mina 进行部署。我一直在努力找出原因。
在我的/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。谢谢你的帮助。
更新 7/14/14
所以为了测试它是我的服务器还是我的代码,我rails server -e production
在我的开发机器上运行。Rails.env.production?
返回 false我仍然有同样的问题。所以它显然在我的 Rails 代码中。我仍然不知道我可以改变什么。