5

如果您使用标志配置和安装 nginx,--with-http_gzip_static_module然后打开静态 gzipping gzip_static on;

HttpGzipStaticModule

使用静态 gzip,当 nginx 收到文件请求时,它会尝试读取并返回扩展名为“.gz”的相同文件。

我的问题是:这似乎是比在用户发出请求时压缩文件更好的选择,因为文件已经被压缩了,对吧?你赢得速度,你可以更快地提供文件。现在我已经压缩了字体文件,我向用户发送了一个包含所有 js(连接、缩小和压缩)的包,另一个包含所有 css 的包。我还应该预压缩图像吗?

4

2 回答 2

11

是的,使用 HttpGzipStaticModule 更好(如果可能),原因有两个:

  1. 您不必为每个请求都 gzip,这意味着:
    • 服务器上的负载更小(因此服务器使用的功率和产生的热量更少)
    • 更快的响应(由于服务器要做的工作更少)
  2. 您可以使用更高的 gzip 级别(nginxgzip --fastest默认使用),这意味着:
    • 服务器使用的网络带宽更少
    • 再次更快的响应(由于较小的传输大小,因此传输速度稍快)

请注意,较少的负载和较少的带宽使用都会降低您的数据中心费用(尽管这仅对于大型繁忙的站点才真正值得注意)

于 2013-04-03T19:10:03.353 回答
6

由于问题的那部分没有得到回答:

不要压缩图像。JPEG 和 PNG 文件已经被压缩,使用 gzip 重新压缩它们可能效果不大,实际上可能会导致文件变大。默认情况下,nginx 不使用其 per-request gzip 模块压缩图像文件。

如果您想减小图像的大小,您可能需要查看webp文件格式或可以为您处理优化图像的pagespeed模块。

于 2013-08-20T02:09:16.930 回答