2012-09-10 44 views
3

我创建了新的环境“分段”。本地它的作品。我这样运行:Nginx的Rails多级环境

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; 
} 

但是app仍然在生产中运行。它加载生产数据库,而不是登台。重新加载Nginx并没有帮助。哪里不对?

回答

4

我想你错过了rails_env设置。

server { 
    ... 
    rails_env staging; 
} 
0

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