Apache 开启 Gzip 压缩

2019年1月10日16:50:30 发表评论 214

GZIP 压缩可减少文件大小,有两个明显的好处:一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip 是在 Linux 系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。

GZIP 最早由 Jean-loup Gailly 和 Mark Adler 创建,用于 UNⅨ 系统的文件压缩。我们在 Linux 中经常会用到后缀为.gz的文件,它们就是 GZIP 格式的。现今已经成为 Internet 上使用非常普遍的一种数据压缩格式,或者说一种文件格式。

HTTP 协议上的 GZIP 编码是一种用来改进WEB应用程序性能的技术。大流量的WEB站点常常使用 GZIP 压缩技术来让用户感受更快的速度。这一般是指 Web 服务器中安装的一个功能,当有人来访问这个服务器中的网站时,服务器中的这个功能就将网页内容压缩后传输到来访的电脑浏览器中显示出来。一般对纯文本内容可压缩到原大小的40%以上,这样传输就快了,效果就是你点击网址后会很快的显示出来。当然这也会增加服务器的负载,一般服务器中都安装有这个功能模块的。关于gzip压缩的好处我这就不说了,相信你已经知道。

进入配置:打开并编辑 apache\conf\httpd.conf 文件,下图以Xampp为例说明:

Apache 开启 Gzip 压缩

去掉 #LoadModule headers_module modules/mod_headers.so 前面的注释#
去掉 #LoadModule deflate_module modules/mod_deflate.so 前面的注释#
去掉 #LoadModule filter_module modules/mod_filter.so 前面的注释#

Apache 开启 Gzip 压缩

mod_filter.so 模块一定要打开,很多人根据网上的配置无法生效,就是这个模块没有开启。

然后,在 apache\conf\httpd.conf 文件最底部添加如下代码:
<ifmodule mod_deflate.c>
# 压缩等级
DeflateCompressionLevel 6
# 压缩类型
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/php
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/atom_xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/gif image/png image/jpe image/swf image/jpeg image/bmp
# Don’t compress images and other
# 排除不需要压缩的文件
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI .(?:html|htm)$ no-gzip dont-varySetEnvIfNoCase
#SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI .(?:pdf|doc)$ no-gzip dont-vary
</ifmodule>

注:注释和命令不要写在同一行,不然容易导致Apache无法启动。

  • 微信关注
  • 这是我的微信扫一扫关注
  • weinxin
  • 微博关注
  • 这是我的微博扫一扫关注
  • weinxin
YeYo(博主)
淘宝聚划算 第二件0元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: