Windows宝塔面板的Apache、Nginx环境下如何开启Gzip压缩

admin

宝塔面板

什么是Gzip

Gzip是GNUzip的缩写,它是一个GNU自由软件的文件压缩程序。它是Jean-loupGailly和MarkAdler一起开发的。

压缩原理

Gzip压缩背后的原理,是在一个文本文件中找出一些重复出现的字符串、临时替换它们,从而使整个文件变小。

根据这个原理,文件中代码的重复率越高,那幺压缩的效率就越高,使用Gzip的收益也就越大。反之亦然。

Gzip的优点

减少文件大小。gzip压缩比率在3到10倍左右,可以大大节省服务器的网络带宽。

减少文件大小有两个明显的好处:

是可以减少存储空间

是通过网络传输文件时,可以减少传输的时间

对于带宽较低的服务器是一种利好,开启后可以加快我们网站的打开速度,原理是经过服务器压缩,客户端浏览器快速解压的原理,可以大大减少了网站的流量。

Gzip的缺点

开启gzip后会额外的增加很多cpu的开销,会对服务器产生一起压力,同时,客户端解压也需要cpu开销(不过客户端还好),这也是不建议把压缩率设置太高的原因。

对图片的压缩支持不太好,会出现体积变大或图片失真的问题。

如何开启Gzip?

两个先行条件

要开启Gzip,需要先满足两个条件:

服务器支持并开启Gzip压缩服务

目前大多数的服务器都支持Gzip压缩服务,比如NginxIISApache、tomcat等,只不过设置不同而已。

客户端(浏览器)支持Gzip解压服务

目前主流的浏览器都支持Gzip解压服务。

判断是否已开启Gzip服务?

通过查看HTTP请求来判断:

如果服务器开启了Gzip压缩服务,HTTP的响应头就会出现:

Content-Encoding: gzip

如果客户端支持Gzip解压服务,HTTP的响应头就会出现:

Accept-Encoding:gzip

Apache开启Gzip

宝塔windows面板apache默认没有开启Gzip压缩的,宝塔windows/linux面板Nginx默认都开启gzip压缩,下面介绍下宝塔windows面板apache开启Gzip压缩方法。

第1步

apache配置文件默认目录:D:\BtSoft\WebSoft\apache\conf

打开httpd.conf,找到如下配置项把前面的#去除

修改前:
#LoadModule deflate_module modules/mod_deflate.so
#LoadModule filter_module modules/mod_filter.so
#LoadModule headers_module modules/mod_headers.so
修改后
LoadModule deflate_module modules/mod_deflate.so
LoadModule filter_module modules/mod_filter.so
LoadModule headers_module modules/mod_headers.so

第2步

在httpd.conf配置文件最后添加如下配置:

SetOutputFilter DEFLATE
# Don’t compress images and other
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
AddOutputFilterByType DEFLATE text/HTML text/plain text/xml text/CSS
AddOutputFilterByType DEFLATE application/x-JavaScript

上述操作完后重启apache服务

Nginx开启Gzip

  1. 登录宝塔面板

  2. 宝塔面板左侧菜单栏找到软件商店,选择已安装,找到Nginx并进入设置

  3. 在Nginx性能调整选项里开启“Gzip”压缩,设置好相关参数

    Gzip1.jpg

  4. 配置属性

gzip on;
on为启用,off为关闭
gzip_min_length 1k;
设置允许压缩的页面最小字节数,页面字节数从header头中的Content-Length中进行获取。默认值是0,不管页面多大都压缩。建议设置成大于1k的字节数,小于1k可能会越压越大。
gzip_buffers 4 16k;
获取多少内存用于缓存压缩结果,4 16k表示以16k*4为单位获得,默认 4 8k
gzip_proxied any;
nginx做为反向代理时启用
off(关闭所有代理结果的数据的压缩),
expired(启用压缩,如果header头中包括"Expires"头信息),
no-cache(启用压缩,header头中包含"Cache-Control:no-cache"),
no-store(启用压缩,header头中包含"Cache-Control:no-store"),
private(启用压缩,header头中包含"Cache-Control:private"),
no_last_modefied(启用压缩,header头中不包含"Last-Modified"),
no_etag(启用压缩,如果header头中不包含"Etag"头信息),
auth(启用压缩,如果header头中包含"Authorization"头信息)
gzip_comp_level 3;
压缩比(1~9),越小压缩效果越差,但是越大处理越慢,所以一般取中间值;
gzip_types text/plain application/x-JavaScript text/CSS text/javascript;
对特定的MIME类型生效,其中text/HTML被系统强制启用
gzip_http_version 1.1
识别http协议的版本,早起浏览器可能不支持gzip自解压,用户会看到乱码,默认1.1
gzip_vary on
启用应答头Vary: Accept-Encoding,一般不需要设置
gzip_disable msie6
(IE5.5和IE6 SP1使用msie6参数来禁止gzip压缩 )指定哪些不需要gzip压缩的浏览器(将和User-Agents进行匹配),依赖于PCRE库
gzip_static on;
nginx 会优先匹配 gzip 文件来返回,如果没有就寻找相应资源进行 gzip 压缩再返回。

保存设置:在完成相关设置后,点击页面底部的“保存”按钮,保存配置修改。

重启Nginx:在保存设置后,宝塔面板会提示是否需要重启Web服务器,点击“重启”按钮,等待服务器重启完成。

完成以上步骤后,Gzip压缩就成功地在宝塔面板中开启了。此时,网站的属性在传输时会被自动压缩,从而提高了传输效率和速度。需要注意的是,开启Gzip压缩会增加服务器的CPU负载,因此在设置时要根据服务器的实际情况进行调整,避免过度压缩导致服务器性能下降。

文章版权声明:除非注明,否则均为十八码原创文章,转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
评论列表 (暂无评论,349人围观)

还没有评论,来说两句吧...

目录[+]