使用Nginx的Rails的多阶段环境

时间:2012-09-10 16:15:19

标签: ruby-on-rails nginx environment env

我创造了新环境" staging"。在当地它的工作原理。我这样运行:

RAILS_ENV=staging passenger start

在服务器上我使用Nginx +乘客。在虚拟主机设置中,我写道:

server {
        listen       443;
        server_name  test.myapp.com;
        rails_env staging;
        root /home/admin/myapp/current/public; # <-- be sure to point to 'public'
        passenger_enabled on;
        ssl on;
        ssl_certificate /home/admin/ssl/server.crt;
        ssl_certificate_key /home/admin/ssl/server.key;
}
server {
        listen 80;
        server_name  test.myapp.com;
       root /home/admin/myapp/current/public;  
        rewrite ^ https://$server_name$request_uri? permanent;
}

但是应用程序仍然在生产中运行。它加载生产数据库,而不是分段。重新加载Nginx并没有帮助。有什么问题?

2 个答案:

答案 0 :(得分:4)

我认为您错过了rails_env设置。

server {
  ...
  rails_env staging;
}

答案 1 :(得分:0)

用户的.bashrc或.zshrc是否包含RAILS_ENV设置?如果是这样,它可能会覆盖NGINX设置。