Ruby on rails Rails中的环境

Ruby on rails Rails中的环境,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我曾读到,在开发环境中部署应用程序可能是最糟糕的情况之一,但我找不到任何关于如何更改应用程序的环境并使其生产数据库就绪的真实信息 顺便说一下,我正在使用乘客/Nginx进行部署 编辑:人们你弄错了,也许我问错了,我知道如何通过nginx改变环境,但如果我从nginx改变它,不接触我的应用程序,它就会崩溃。在我将应用程序的环境从开发更改为生产之前,我必须对应用程序执行一些操作,我需要有关它们的信息。在虚拟主机中放置以下环境变量:- <VirtualHost *:80> Docume

我曾读到,在开发环境中部署应用程序可能是最糟糕的情况之一,但我找不到任何关于如何更改应用程序的环境并使其生产数据库就绪的真实信息

顺便说一下,我正在使用乘客/Nginx进行部署


编辑:人们你弄错了,也许我问错了,我知道如何通过nginx改变环境,但如果我从nginx改变它,不接触我的应用程序,它就会崩溃。在我将应用程序的环境从开发更改为生产之前,我必须对应用程序执行一些操作,我需要有关它们的信息。

在虚拟主机中放置以下环境变量:-

<VirtualHost *:80>
  DocumentRoot /var/apache2/htdocs/tutorial/Web/
  ServerName dev.tutorial.local
  SetEnv FLOW3_CONTEXT Production
</VirtualHost>

DocumentRoot/var/apache2/htdocs/tutorial/Web/
ServerName dev.tutorial.local
SetEnv FLOW3_上下文生成

从乘客文档中,RAILS_ENV默认为production

如果没有,您可以在nginx配置中指定:

  • http配置块中
  • 服务器配置块中
  • 位置配置块中
  • if配置范围内

    • 我不确定。但请尝试在config/environment.rb中更改环境变量

      ENV['RAILS_ENV'] ||= 'production'
      

      你想在哪里运行你的应用程序?默认情况下,它是development,但是当您在我的dev机器上运行服务器时,您可以添加一个RAILS_ENV-production。我默认运行它,我认为它是developent。但在部署阶段,我不知道如何让我的应用程序做好部署准备。至少我知道我应该让他们的环境投入生产,但我找不到任何关于这一点的信息。我知道从nginx改变,但这不是完整的解决方案,必须有其他步骤,因为我的应用程序崩溃。如果我不将RAILS_ENV改为development,那么问题可能在别处。在生产中崩溃时,日志中是否有任何信息?