【问题标题】:How to deploy Rails in production mode?如何在生产模式下部署 Rails?
【发布时间】:2015-12-18 14:45:42
【问题描述】:

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

我只是将以下代码放在配置/环境中吗:

RAILS_ENV = 'production'

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

谢谢。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3


    【解决方案1】:

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

    rails server -e production
    

    您也可以只使用您提到的RAILS_ENV(但在一行中执行此操作):

    RAILS_ENV=production rails server
    

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

    虽然除非您另有说明,Passenger 默认会在生产模式下运行您的应用程序,但您可以再次确定。对于 Apache 后面的乘客,您可以将其添加到您的 Apache 配置中:

    RailsEnv production
    

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

    rails_env production;
    

    【讨论】:

    • 我将在网络服务器上使用乘客。
    • 查看更新的答案。但是请注意,默认情况下,乘客会自动使用生产模式。
    • 好的,我认为这不起作用:RAILS_ENV=production 在我的环境文件中,因为当我运行 rake db:migrate 或 rails server 时出现以下错误:未定义的局部变量或方法 'production '
    • 那么如何在本地建立生产数据库呢?
    • 您没有将RAILS_ENV 行放在您的环境文件中。你用你的命令把它放在命令行上。所以运行 rake:RAILS_ENV=production rake db:migrate.
    【解决方案2】:

    这就是答案:

    $ RAILS_ENV=production rake db:migrate
    

    【讨论】:

    • 这当然只是进行所需的数据库迁移,它不会在生产中运行服务器。
    • 这不会在生产中运行服务器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-08
    • 2021-02-04
    • 1970-01-01
    • 1970-01-01
    • 2018-05-30
    • 2012-07-21
    相关资源
    最近更新 更多