Nginx和乘客错误:未找到设计secret_key

时间:2017-11-07 00:48:46

标签: ruby-on-rails nginx devise passenger

我刚刚完成设置DigitalOcean服务器并通过capistrano部署到它。服务器运行Nginx和Passenger。在浏览器中查看IP时,我得到了乘客的标准“我们很抱歉,但出了点问题”。 nginx&乘客错误日志都显示:

  <pre>Devise.secret_key was not set. Please add the following to your Devise initializer:<wbr>

  config.secret_key =<wbr> &apos;f9de6853e72cd4e4770bef193e2894ca88be2d8ddd743a917bb3d122631f44b762018158152bfe271876c7ffb4f7c230d8572389423afad1af72c1c7ce6a7191&apos;

Please ensure you restarted your application after installing Devise or setting the key.
 (RuntimeError)

我的config / initializers / devise.rb:

  config.secret_key = ENV['SECRET_KEY_BASE'] if Rails.env.production?

和SECRET_KEY_BASE在服务器上设置为环境变量。我在部署期间的资产编译中遇到了一个问题,其中带有相同错误的上限,并且使用环境变量使密钥正常工作并移过它。

对于正在发生的事情的任何想法都非常感谢!

1 个答案:

答案 0 :(得分:1)

所以我发现了。对于任何感兴趣的人来说,似乎Passenger看不到/ etc / environment中的环境变量,所以将它们添加到〜/ .bashrc就可以了。

谢谢!