自动gzip分别压缩每个文件

时间:2016-09-27 22:42:47

标签: caching nginx compression gzip on-the-fly

我们如何在特定目录中使用自己的原始文件名分别压缩每个现有文件&它的子目录。

这样我希望我们不需要运行"即时gzip压缩"每次现有的nginx fastcgi缓存纯文本文件了。

这可能会节省大量资源和还为我们提供了服务已缓存文件的低延迟/等待时间。

1 个答案:

答案 0 :(得分:0)

你需要自己压缩文件--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块中删除它,只需将其添加到位置块中 - 这就是我通常所做的。