这让我疯狂了几天,我无法弄清楚如何解决这个问题。我是新手,所以它可能只是非常简单。
我使用Digital Ocean在Ubuntu 14.04上设置我的VPS主机,将我的Rails 4应用程序部署到生产环境。我按照本教程https://www.digitalocean.com/community/tutorials/deploying-a-rails-app-on-ubuntu-14-04-with-capistrano-nginx-and-puma
使用Capistrano和Nginx部署了我的应用程序我目前唯一的问题是我的应用程序没有加载我的环境变量。或者至少,当我尝试订阅我的时事通讯时,它告诉我需要一个有效的api密钥。
到目前为止我做了什么:
这是我的bash_profile文件: [[-s" $ HOME / .profile" ]]&&来源" $ HOME / .profile" #加载默认的.profile
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM$
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"
export MAILCHIMP_API_KEY="somenumber"
export MAILCHIMP_LIST_ID="somenumber"
如果需要,很高兴添加任何额外的代码。
非常感谢!
答案 0 :(得分:4)
有同样的问题,你上面提到的一切。这就是我的所作所为:
在您的ubuntu框中~/.profile
,确保您正在加载 .bashrc
&& .bash_profile
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
if [-f "$HOME/.bash_profile" ]; then
. "$HOME/.bash_profile"
fi
fi
然后,确保您的环境变量是从.bash_profile
导出的。
# .bash_profile
export KEY=value
etc.
重新启动服务器(在我的情况下,我运行的是nginx,所以sudo service nginx restart
),然后重新启动你的应用(touch app/current/tmp/restart.txt
)。
您的应用应该可以立即访问env变量。