use*_*047 31 deployment ruby-on-rails ruby-on-rails-4
我最近部署了一个应用程序并因为缺少生产secret_key_base而出现内部服务器错误.经过几个小时的测试,我设法用两种方法解决了这个问题:
方法1:
我生成了一个新的secret_key,rake secret并将其替换为<%= ENV["SECRET_KEY_BASE"] %>in secrets.yml.再次部署应用程序,这次它工作.但我认为这种方法是错误的.
方法2:
我生成了一个新的secret_key rake secret并将其添加到environments/production.rblike config.secret_key_base = 'd1f4810e662acf46a33960e3aa5bd0************************,而不更改secrets.yml(默认为production: <%= ENV["SECRET_KEY_BASE"] %>).再次部署应用程序,它工作正常.
我的问题:
use*_*047 30
我终于找到了正确的方法.所提到的方法都不是正确的方法.
正确的方法:
我们自己应该生成一个密钥(by rake secret),然后通过从命令提示符运行以下命令为SECRET_KEY_BASE创建一个环境变量:
rhc set-env SECRET_KEY_BASE=3dc8b0885b3043c0e38aa2e1dc64******************** -a myapp
Run Code Online (Sandbox Code Playgroud)
运行此命令后,通过SSH连接到您的服务器并运行,env以便您在列表中看到您的SECRET_KEY_BASE.
现在重新启动你的应用程序rhc app-stop myapp和rhc app-start myapp,那么你是好去.
小智 5
如果您使用的是普通的Ubuntu计算机,则只需放入export SECRET_KEY_BASE=" <<< output from rake secret here >>> "您的~/.bashrc。
运行source ~/.bashrc并重新启动该应用程序。
| 归档时间: |
|
| 查看次数: |
33951 次 |
| 最近记录: |