如何在生产模式下部署Rails?

41

如何将Rails 3.0设置为生产模式?

我只需要把以下代码放入config/environment中吗?

RAILS_ENV = 'production'

我还需要改变什么吗?

谢谢。

2个回答

72

这取决于您运行应用程序的方式。如果只是使用rails server命令,您可以执行以下操作:

rails server -e production

您也可以只使用RAILS_ENV(如您所提到的)(但请在一行中完成此操作):

RAILS_ENV=production rails server

如果您更具体地说明了您的生产设置(例如,您正在使用Passenger、Mongrel、Unicorn或其他任何东西),我们可以为您的情况提供更具体的答案。

虽然Passenger默认在生产模式下运行您的应用程序,除非您告诉它否则,但您可以再次确认。对于Apache后面的Passenger,您需要将以下内容添加到Apache配置中:

RailsEnv production

对于在 Nginx 后面的乘客,您需要在 Nginx 配置文件中添加以下内容:

rails_env production;

请查看更新的答案。但请注意,Passenger默认使用生产模式。 - Dylan Markow
那么我如何在本地设置生产数据库? - Brian
2
你不需要在环境文件中添加RAILS_ENV行,而是需要在命令行中使用该命令。因此,要运行rake,请输入:RAILS_ENV=production rake db:migrate - Dylan Markow
好的,那个起作用了。我不知道为什么我的样式现在没有显示出来。 - Brian
对于nginx,在服务器块中添加那一行? - pyfork
显示剩余2条评论

12

这是答案:

$ RAILS_ENV=production rake db:migrate

4
当然,这只是执行所需的数据库迁移,并不会在生产环境中运行服务器。 - bchurchill
这不会在生产中运行服务器。 - Ray

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接