Ruby on rails Capistrano未设置环境变量AWS EC2

Ruby on rails Capistrano未设置环境变量AWS EC2,ruby-on-rails,amazon-ec2,capistrano,Ruby On Rails,Amazon Ec2,Capistrano,我目前在AWS的一个EC2实例中部署了一个应用程序 由于某些原因,应用程序运行时未设置某些环境变量。如果我通过SSH连接并执行printenv或使用rails控制台,那么ENV变量会正确显示。但对于正在运行的应用程序,环境变量不显示 我对Capistrano和EC2没有什么经验,所以我不完全确定应该共享什么代码,也不知道在哪里检查配置是否正确 如何设置环境变量,使其可供部署的应用程序访问?您可以为capistrano会话设置环境变量: set :default_environment, {

我目前在AWS的一个EC2实例中部署了一个应用程序

由于某些原因,应用程序运行时未设置某些环境变量。如果我通过SSH连接并执行
printenv
或使用rails控制台,那么ENV变量会正确显示。但对于正在运行的应用程序,环境变量不显示

我对Capistrano和EC2没有什么经验,所以我不完全确定应该共享什么代码,也不知道在哪里检查配置是否正确


如何设置环境变量,使其可供部署的应用程序访问?

您可以为capistrano会话设置环境变量:

set :default_environment, { 
 'environment_variable_1' => 'value_1',
 'environment_variable_2' => 'value_2'
}

我在这里找到了答案:


我必须遵循这里描述的任何方法来设置env变量。实际上,我遵循了第二种方法,使用dotenv gem。

我应该把它放在哪里?尝试添加到deploy中。rbI做到了这一点,但它们没有添加到ENV中。我在Rails中打印了ENV变量,但它们没有出现(我在文章中提到的变量也没有出现),在当前环境的内部部署文件夹(例如:production.rb)中设置它是否有任何效果?