开启Apache的gzip压缩

这篇文章主要介绍了如何使用Gzip实现Apache服务器来压缩网页文件,以提升加载效率。

开启Apache的gzip压缩

要让apache支持gzip功能,要用到deflate_Module和headers_Module。打开apache的配置文件httpd.conf,大约在120-130行左右,找到以下两行内容:(我测试过#LoadModule headers_module modules/mod_headers.so这个模块即使不修改也能实现gzip压缩服务。但很多资料都说这两行要同时去掉注释,不然网页显示不正常。)

#LoadModule deflate_module modules/mod_deflate.so
#LoadModule headers_module modules/mod_headers.so

然后将其前面的“#”注释删掉,表示开启gzip压缩功能。开启以后还需要进行相关配置。在httpd.conf文件的最后添加以下内容即可:

<IfModule deflate_module>
    # 必须的,就像一个开关一样,告诉apache对传输到浏览器的内容进行压缩
    SetOutputFilter DEFLATE
    # 压缩级别 1-9 级别从低到高
    DeflateCompressionLevel 9
</IfModule>

最少需要加上以上内容,才可以生gzip功能生效。由于没有做其它的额外配置,所以其它相关的配置均使用Apache的默认设置。这是对所有文件都进行了压缩,在开发过程中可以进行按需压缩,至于PDF 、图片、音乐文档之类的这些本身都已经高度压缩格式,重复压缩的作用不大,反而可能会因为增加CPU的处理时间及浏览器的渲染问题而降低性能。所以就没必要再通过Gzip压缩。

<IfModule mod_deflate.c>
    # 告诉 apache 对传输到浏览器的内容进行压缩
    SetOutputFilter DEFLATE
    # 压缩等级 9 最低是1,不建议按最大级别进行压缩,压缩率过高会占更多CPU资源
    DeflateCompressionLevel 9
    # 设置不对后缀gif,jpg,jpeg,png的图片文件进行压缩
    SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
</IfModule>

指定文件格式进行压缩:

<IfModule mod_deflate.c>
    # 压缩等级 9
    DeflateCompressionLevel 9
    # 压缩类型 html、xml、php、css、js 里面的文件MIME类型可以根据自己情况添加
    AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-javascript application/x-httpd-php
    AddOutputFilter DEFLATE js css
</IfModule>

注意:修改完成后要重新启用Apache才生效

猜你喜欢

转载自blog.csdn.net/weixin_44539392/article/details/86726856