该主题的末尾嵌入了解决方案。
我第一次在 Ubuntu 18.04 上的 VPS 上部署 Rails 应用程序。与 Nginx。我遵循了Gorails的好教程“在 2019 年将 Ruby on Rails 部署到生产环境”。一切正常,直到我收到“从应用程序收到的不完整响应”页面。
我检查了 nginx 登录/var/log/nginx/error.log并看到了典型的消息“缺少secret_key_base‘生产’环境,将此字符串设置为rails credentials:edit”
由于Gorails的方法似乎不起作用(bundle exec rails secret在他的控制台应用程序端之后,他添加了一个带有SECRET_KEY_BASE行的文件/my_website/.rbenv-vars,其中填充了生成的密钥),我决定遵循回答这个问题的多个主题。这是事情,我不确定以下步骤是否是货物之一。
bundle exec rails secret在服务器端的控制台上以部署用户的身份运行。所以我有我的 GENERATED_KEY_1~/.bashrc:export SECRET_KEY_BASE="GENERATED_KEY_1"source ~/.bashrcecho $SECRET_KEY_BASE,并显示了好的钥匙 (GENERATED_KEY_1)development:
  secret_key_base: ORIGINAL_KEY
test:
  secret_key_base: ORIGINAL_KEY
production:
  secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
并将 Dotenv 添加到我的 Gemfile 中,在 application.rb 中需要它
但是在重新启动 nginx 服务器后,这些都不起作用。所以我用 …