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

Bri*_*ian 39 ruby-on-rails ruby-on-rails-3

如何将Rails 3.0置于生产模式?

我只是将以下代码放在config/environment中:

RAILS_ENV = 'production'
Run Code Online (Sandbox Code Playgroud)

还有什么我需要改变的吗?

谢谢.

Dyl*_*kow 70

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

rails server -e production
Run Code Online (Sandbox Code Playgroud)

你也可以RAILS_ENV像你提到的那样使用(但只需一行):

RAILS_ENV=production rails server
Run Code Online (Sandbox Code Playgroud)

如果您对您的确切生产设置更具体(即您使用的是Passenger,Mongrel或Unicorn,还是其他什么?),我们可以根据您的具体情况为您提供更具体的答案.

虽然Passenger默认在生产模式下运行您的应用程序,除非您另外说明,但您可以确保双重确认.对于Apache背后的Passenger,您可以将其添加到Apache配置中:

RailsEnv production
Run Code Online (Sandbox Code Playgroud)

对于Nginx背后的乘客,您可以将其添加到您的Nginx配置中:

rails_env production;
Run Code Online (Sandbox Code Playgroud)

  • 您没有将`RAILS_ENV`行放在环境文件中.您可以使用命令将其放在命令行上.所以要运行rake:`RAILS_ENV = production rake db:migrate`. (2认同)

use*_*158 13

这就是答案:

$ RAILS_ENV=production rake db:migrate
Run Code Online (Sandbox Code Playgroud)

  • 这当然只是需要数据库迁移,它不会在生产中运行服务器. (3认同)