环境变量在DigitalOcean中不起作用

时间:2018-06-01 02:23:04

标签: ruby-on-rails ubuntu nginx digital-ocean puma

我尝试在.bashrc.profile.bash_profile/etc/environment以及/etc/defaults/nginx中设置环境变量,但没有任何效果。只有/etc/environment是实际响应echo $MY_VAR输出的文件,但Rails应用程序即使在nginx and puma重新启动daemon-reload其他文件后也没有选择这些变量终端没有回复(因为当我执行ssh时,它会更新LINUX session)。我在my_app/config文件夹的文件中使用这些环境变量。任何人都可以告诉更好的方法来使这些变量工作。

我正在使用 Nginx Puma Ruby on Rails 5 Capistrano Ubuntu 18.04 即可。提前致谢

1 个答案:

答案 0 :(得分:2)

如果您愿意使用Dotenv gem,我最近将其与.env中的环境变量结合使用(请务必将其添加到.gitignore)。 Dotenv的文档解释了如何进行设置。在config/application.rb中,您需要添加Dotenv::Railtie.load后跟YOUR_SECRECT = ENV['YOUR_SECRECT']以及.env中的任何其他变量。据说,如果你使用的是Capistrano,你应该append .envlinked_files中的其他config/deploy.rb一起使用,但最后我必须添加.env手动将文件传送到我服务器上的shared目录。然而,该设置使我的环境变量可用于config/environments/production.rb文件。