我正在将一个rails应用程序部署到数字海洋水滴,所有似乎都配置正常,但我收到此错误:
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;
}
谢谢! :)
答案 0 :(得分:32)
这是因为您没有正确设置密钥。仔细检查你的config / secrets.yml文件:它应该是这样的:
production:
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
然后在您的Droplet中,您可以运行bundle exec rake secret
来获取您的密钥。像dotenv
这样的选项是一个有用的宝石,可以将.env文件的内容加载到ENV中。