子文件夹中的nginx资源

时间:2016-11-07 13:36:18

标签: ruby-on-rails nginx assets

我想知道是否有更好的方法来定义nginx中的资产路径。例如,我希望nginx在子文件夹中提供资源。现在,我使用这种对我来说看起来不太干的技术。

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

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

您能否为资产文件夹中的文件夹提出更好的建议?提前谢谢。

1 个答案:

答案 0 :(得分:3)

您的配置几乎是正确的(针对您尝试实现的目标)。由于我没有完整的配置,我猜测解决方案:

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

注意alias指令(以及绝对路径上的尾部斜杠)。这告诉NGINX获取URI并递归资产目录(在子文件夹中搜索)。它与提供内容时使用roottry_files类似。对于rootalias之间的差异,请参阅此link