gpt4 book ai didi

ruby-on-rails - Rails 在生产中缺少 SECRET_KEY_BASE

转载 作者:行者123 更新时间:2023-12-04 18:36:01 25 4
gpt4 key购买 nike

我有 ubuntu 服务器、Rails 5.0 和 apache web 服务器
我也有很多网站

添加新站点时,出现错误“从应用程序收到不完整的响应”

当我检查 apache 日志时,我看到消息:

App 14561 stderr: [ 2017-01-17 21:01:16.5804 14591/0x0000000064e100(Worker 1) utils.rb:85 ]: *** Exception RuntimeError in Rack application object (Missing `secret_key_base` for 'production' environment, set this value in `config/secrets.yml`) (process 14591, thread 0x0000000064e100(Worker 1)):

我的 config/secrets.yml 包含默认值:
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>

此外,我刚刚通过写入文件/etc/profile 设置了环境变量 SECRET_KEY_BASE

我看到的不是通过命令 echo $SECRET_KEY_BASE
如何修复错误 Incomplete response received from application

最佳答案

首先,请注意 /etc/profile仅在调用交互式登录 shell 时获取,因此在此文件中设置的任何变量都不会在启动时由 web 服务器守护程序运行,这就是为什么它在您的尝试中没有按预期工作的原因。

由于您使用的是 Apache + Phusion Passenger,您可以使用 SetEnv 在 Apache 配置文件中设置应用程序特定的环境变量。 mod_env 的选项.

否则,您可以通过读取应用程序服务器文件系统上的配置来从应用程序代码中设置环境变量。您可以使用像 dotenv 这样的 gem 使这种模式自动化。

请参阅 Phusion 乘客的文档 About Environment Variables: Passenger-Served Apps获取文档引用。

关于ruby-on-rails - Rails 在生产中缺少 SECRET_KEY_BASE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41710401/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com