在关注此tutorial之后,我尝试了能够在ec2 Ubuntu实例上设置rails应用程序,运行nginx web服务器和puma app服务器,部署了capistrano 3.但是,我的资产都没有显示我正在获取Devise gem的基本功能的路由错误,例如注销。 chrome dev工具控制台显示已编译的application.css和application.js文件的404错误。
我认为资产存在,因为如果我进入实例并转到我的应用程序所在的文件夹,我可以看到公共/资产下的一堆文件。此外,如果我检查capistrano日志,我可以找到行Node* ptr = &list;
,并且状态为成功。我尝试了诸如进入production.rb文件并将bundle exec rake assets:precompile
更改为config.serve_static_files = ENV['RAILS_SERVE_STATIC_FILES'].present?
但仍然没有资产。我认为最大的疑问是存在某种路由错误,因为我并不真正了解Web服务器,应用服务器和aws实例如何相互交互。有人能指出我正确的调试方向吗?如果您需要查看特定的配置文件,请在下面评论。
答案 0 :(得分:0)
好的,事实证明我所要做的就是将secrets.yml从我的app的本地repo复制到[my_app_name] / shared / config中的共享文件夹。所以我的应用程序并不知道在哪里寻找密钥库。
虽然我仍然对为什么不使用secret.yml会阻止资产服务感到困惑...