Rails 4编译的资产仅在服务器重启后才能工作

时间:2014-11-26 03:39:21

标签: ruby-on-rails capistrano asset-pipeline vps

我使用Capistrano 3和rails 4以及ubuntu VPS部署我的Rails应用程序,但部署后无法找到编译后的资产,它总是返回路由错误,我不得不重新启动我的服务器,然后它才能正常工作。

重启Nginx并且Unicorn没有帮助。 有什么想法吗?

2 个答案:

答案 0 :(得分:0)

运行

rake assets:precompile
部署前

答案 1 :(得分:0)

在部署最新更改时,我执行以下操作:

我从Github拉出最新版本。 我跑

bundle exec rake assets:precompile

sudo service nginx restart

现在,当访问您的网站时,代码将被加载到RAM中,您的资产可以正确提供。

您需要禁用config / environments / production.rb中提供的静态资产 config.serve_static_assets = false

希望我能帮助你。