Rails 3.2预编译资产404错误

时间:2012-08-28 13:08:01

标签: apache nginx ruby-on-rails-3.2 asset-pipeline

我在生产中遇到了Rails 3.2和资产管道的问题。

我的环境:

  • 通过capistrano部署
  • RVM
  • REE /乘客
  • Rails 3.2.7
  • Apache / Plesk 11

这个问题是我的所有资产都编译得很好,并且位于服务器的shared / assets /中,并且指向公共/资产的符号链接。但我在我的应用程序中没有样式或JS并直接导航到资产文件我得到“404 Not Found”和“nginx”

我再次使用apache服务器,并且我已成功在子域上部署此应用程序,没有任何问题。该服务器是plesk 9 / apache但没有RVM。我是Plesk 11的新手并且从未使用过nginx,所以我首先想到的是这个问题。

但我现在也不愿意排除RVM。有人有什么想法吗?

提前致谢

1 个答案:

答案 0 :(得分:5)

您需要将资源添加为nginx服务器块中的位置

location ~ ^/(assets)/  {
root /your/root/path/domain.com/current/public;
gzip_static on; # to serve pre-gzipped version
expires max;
add_header  Cache-Control public;
}