2011-08-22 78 views

回答

69

这取决于你如何运行你的应用程序。如果你只是使用rails server命令,你可以这样做:

rails server -e production 

您也可以只使用RAILS_ENV正如你所提到的(但在一行做到这一点):

RAILS_ENV=production rails server 

如果”关于你的确切生产设置(即你使用Passenger,Mongrel还是Unicorn,还是其他什么?),我们可以给你一个更具体的答案。

虽然乘客默认在生产模式下运行您的应用程序,除非另有说明,您可以确保双重。对于后面的Apache客运,你会添加到您的Apache配置:

RailsEnv production 

背后Nginx的乘客,你会添加到您的Nginx的配置:

rails_env production; 
+0

我将在网络服务器上使用乘客。 – Brian

+0

查看更新的答案。但请注意,乘客默认会自动使用生产模式。 –

+0

好吧,我不认为这有效:RAILS_ENV =我的环境文件中的生产,因为当我运行rake db:migrate或rails服务器时,我得到以下错误:未定义的局部变量或方法'生产' – Brian

13

这就是答案:

$ RAILS_ENV=production rake db:migrate 
+0

就像一个魅力! – coletrain

+3

这当然只是需要进行数据库迁移,它不会在生产环境中运行服务器。 – bchurchill