【发布时间】:2021-05-25 20:01:31
【问题描述】:
我可以为 MIME 类型启用 nginx gzip 压缩。但是,我需要提供具有不同扩展名 (.roadData) 的大文件。 .roadData 本质上是 json。
如何让 nginx 提供压缩的 .roadData 文件?
谢谢
【问题讨论】:
标签: nginx
我可以为 MIME 类型启用 nginx gzip 压缩。但是,我需要提供具有不同扩展名 (.roadData) 的大文件。 .roadData 本质上是 json。
如何让 nginx 提供压缩的 .roadData 文件?
谢谢
【问题讨论】:
标签: nginx
您可以为自定义扩展指定 MIME 类型,如下所示:
http {
include /etc/nginx/mime.types;
types {
application/json roadData;
}
}
然后,所有.roadData 文件都将使用适当的 MIME 类型提供服务,如果您指定了该类型进行压缩,NGINX 将对其进行压缩。
通过这种方式,您可以使用自己的 MIME 类型扩展服务器范围的 MIME 类型,以进行另一个扩展。
或者,您可以将其指定为默认位置,前提是 roadData 存储在单个目录中,没有其他文件:
location /download/ {
types { }
default_type application/json;
}
就像其他答案提到的那样,预压缩的 gzip 文件在那里很有意义,因为您不希望 NGINX 在每次请求时都重新压缩这些大文件。
使用gzip_static on; 并创建文件的压缩版本。
zopfli 是最有效的工具之一。
【讨论】:
为您的扩展添加 MIME 类型
types {
application/json roadData;
}
为您的 mime 类型启用压缩
gzip_static on;
gzip on;
gzip_types application/json;
从动态压缩中卸载 nginx,在原始文件旁边创建 .gz (filename.roadData.gz) 文件,以便 nginx 响应预压缩文件。
【讨论】: