【发布时间】:2016-09-27 22:42:47
【问题描述】:
我们如何在特定目录及其子目录中使用自己的原始文件名分别压缩每个现有文件。
这样我希望我们不再需要每次都为现有的 nginx fastcgi 缓存纯文本文件运行“on-the-fly gzip compress”。
这可能会节省大量资源,并且还可以为我们提供服务已缓存文件的低延迟/等待时间。
【问题讨论】:
标签: caching nginx compression gzip on-the-fly
我们如何在特定目录及其子目录中使用自己的原始文件名分别压缩每个现有文件。
这样我希望我们不再需要每次都为现有的 nginx fastcgi 缓存纯文本文件运行“on-the-fly gzip compress”。
这可能会节省大量资源,并且还可以为我们提供服务已缓存文件的低延迟/等待时间。
【问题讨论】:
标签: caching nginx compression gzip on-the-fly
您需要自己压缩文件 - Nginx 无法帮助您。对于您要预压缩的所有文件,只需将它们压缩并保存为“原始文件名+末尾的.gz”(在同一目录中),然后使用 gzip_static 选项来提供这些文件。
所以一个可行的例子可能是:
http {
gzip on;
gzip_min_length 500;
gzip_proxied any;
gzip_comp_level 4;
gzip_types text/plain text/xml application/xml application/json image/svg+xml image/x-icon image/gif text/css application/x-javascript;
gzip_vary on;
gzip_disable "msie6";
gzip_static on; # this enables the .gz files being served
... here come your server blocks and other Nginx configuration
}
现在为所有 gzip_types 提供 .gz 文件,如果它们存在的话 - 用于所有网站。如果您只想在某些目录/域中使用 gzip_static,您可以在上面的 http 块中将其删除,然后将其添加到 location 块中 - 这是我通常做的。
【讨论】: