发生未处理的低级错误。应用程序日志可能会有详细信息。

19

我正试图将一个 Rails 应用部署到 Digital Ocean droplet,看起来一切都已经配置好了,但是我收到了以下错误信息:

An unhandled lowlevel error occurred. The application logs may have details.

由于日志为空,我不确定该怎么做。

以下是nginx配置:

upstream puma {
  server unix:///home/yourcv.rocks/shared/tmp/sockets/yourcv.rocks-puma.sock;
}

server {
  listen 80 default_server deferred;
  server_name 127.0.0.1;

  root /home/yourcv.rocks/current/public;
  access_log /home/yourcv.rocks/current/log/nginx.access.log;
  error_log /home/yourcv.rocks/current/log/nginx.error.log info;

  location ^~ /assets/ {
    gzip_static on;
    expires max;
    add_header Cache-Control public;
  }

  try_files $uri/index.html $uri @puma;
  location @puma {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;

    proxy_pass http://puma;
  }

  error_page 500 502 503 504 /500.html;
  client_max_body_size 10M;
  keepalive_timeout 10;
}

谢谢你!:)

1个回答

34
这是因为您没有正确设置秘钥。请仔细检查您的config/secrets.yml文件:它应该像这样: production: secret_key_base: <%= ENV["SECRET_KEY_BASE"] %> 然后在您的droplet中,您可以运行bundle exec rake secret来获取您的秘钥。还有一些选项,比如dotenv,它是一个有用的 gem,可以将.env文件的内容加载到ENV中。

谢谢!我设置了环境变量,但没有以持久的方式进行设置,所以它没有起作用! :) - Tudor S.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接