Time: 2020-12-08 www.sdyserver.cn
服务器端如何开启GZIP压缩功能

APACHE如何开启GZIP功能

 


Apache开启GZIP要看查看是否已经开启mod_deflate模块,如果没有则需要先加载,在配置文件httpd.conf中将


LoadModule deflate_module modules/mod_deflate.so


LoadModule headers_module modules/mod_headers.so


前面的#号去掉。DNSLA建议,如果对apache的配置文件不太懂的客户在修改配置文件之前对配置文件进行备份。


开启模块后,在httpd.conf配置文件的最下面空白处添加一下内容:



<ifmodule mod_deflate.c>


SetOutputFilter DEFLATE


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|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary


DeflateCompressionLevel 6


AddOutputFilterByType DEFLATE text/html text/plain text/xml Application/x-httpd-php


AddOutputFilter DEFLATE js css


</ifmodule>


其中DeflateCompressionLevel 的意思是压缩等级,共分为1-9,9级为最高,不建议使用太高的压缩比,这样会对CPU产生太大的负担。






IIS如何开启GZIP功能

 


打开IIS管理工具,在右键网站打开网站属性,在服务选项卡中开启HTTP压缩,不建议选中压缩应用程序文件,但一定要选上压缩静态文件,不然就等于没有压缩,达不到负载均衡了。然后选中我那个站下面那个服务器扩展,新建一个服务器扩展,名字为GZIP,下面的添加文件路径为:c:\windows\system32\inetsrv\gzip.dll,然后启用这个扩展。DNSLA提醒大家,还没结束,第三步是,我们要修改配置文件,在配置文件之前要停止IIS服务,(DNSLA提醒大家一定要先关闭IIS服务)打开C:\Windows\System32\inetsrv\MetaBase.xml,这个文件很大,找到下面一段信息:


<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/gzip"


HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"


HcCreateFlags="1"


HcDoDynamicCompression="TRUE"


HcDoOnDemandCompression="TRUE"


HcDoStaticCompression="TRUE"


HcDynamicCompressionLevel="0"


HcFileExtensions="htm


html


txt"


HcOnDemandCompLevel="10"


HcPriority="1"


HcScriptFileExtensions="asp


dll


exe"


>


</IIsCompressionScheme>


修改这个文件是要增加一些要进行压缩的文件后缀,其中 HcFileExtensions 是静态文件的扩展名,增加 js 和 css 等;HcScriptFileExtensions 为动态文件的扩展名,增加 aspx,HcDynamicCompressionLevel改成9,(0-10,6是性价比最高的一个)。


然后需要重启一下IIS服务即可。





Nginx如何开启GZIP功能


相对apache 和 IIS nginx开启GZIP简单很多,只需要打开配置文件 nginx.conf找到gzip on 把前面的注释符号#去掉即可开启GZIP服务。然后配置GZIP即可。


下面是一个相对优化不错的配置,DNSLA建议使用。


Gzip on;


gzip_min_length 1024;


gzip_buffers 4 8k;


gzip_types text/plain application/x-JAVAscript text/css application/xml;