如何设置 apache 2.2 gzip 压缩级别?

如何设置 apache 2.2 gzip 压缩级别?

我正在运行 Debian 和 Apache/2.2.22,我启用了 gzip,我想知道我的压缩级别是多少以及如何更改它。我知道这可以通过编辑 php.ini 来实现,但我想在 apache 中配置它。如何做?

答案1

您只需添加 DeflateCompressionLevel 即可调整压缩级别。

DeflateCompressionLevel 9

这行代码的范围是 1 到 9,9 是最佳压缩方法。默认情况下使用 9,除非由于网站使用率高而导致 CPU 使用率高,否则很少有必要指定压缩级别。

答案2

不管你信不信,但mod_deflate包含这些信息。特别是放气压缩等级指令是你的朋友。你可以将级别设置为 1(低)和 9(高)之间。文档中还说,默认值是 zlib 的默认压缩级别。

zlib 文档表示默认压缩级别为 6。

答案3

在 Iain 的帮助下,我发现mod_deflate我必须补充一下放气压缩水平在 /etc/apache2/mods-available/deflate.conf 中

更改后,我的 deflate.conf 如下所示:

<IfModule mod_deflate.c>
          # these are known to be safe with MSIE 6
          AddOutputFilterByType DEFLATE text/html text/plain text/xml

          # everything else may cause problems with MSIE 6
          AddOutputFilterByType DEFLATE text/css
          AddOutputFilterByType DEFLATE application/x-javascript application/javascript application$
          AddOutputFilterByType DEFLATE application/rss+xml
          DeflateCompressionLevel 9
</IfModule>

答案4

作为已接受答案的补充,您还可以使用 apache 的 filesMatch 指令来压缩所有响应,而不是按类型压缩它们:

<filesMatch "\.*$">
    SetOutputFilter DEFLATE
</filesMatch>
DeflateCompressionLevel 7  # I prefer to use 7 for less CPU consumption on traffics
DeflateMemLevel 9
DeflateWindowSize 15

相关内容