文档库 最新最全的文档下载
当前位置:文档库 › gzip设置帮助文档(IIS6、IIS7、Apache、Nginx)

gzip设置帮助文档(IIS6、IIS7、Apache、Nginx)

gzip设置帮助文档(IIS6、IIS7、Apache、Nginx)
gzip设置帮助文档(IIS6、IIS7、Apache、Nginx)

源站gzip帮助说明

gzip压缩分为两种,http1.0压缩和http1.1压缩,这两种压缩的压缩方法和response header都一样,只是客户端和服务器通讯的http协议不同。

下面为四种类型的设置步骤:

一、IIS 6.0中配置HTTP Gzip压缩的步骤:

1.首先,如果你需要压缩静态文件(HTML),需要在硬盘上建一个目录,并给它“IUSR_机

器名”这个用户的写权限,然后在我的电脑-管理-服务和应用程序,打开Internet信息服务(IIS)管理器,右击"网站"->"属性",选择"服务"。在"HTTP压缩"框中选中"压缩应用程序文件"和"压缩静态文件",按需要设置"临时目录"和"临时目录的最大限制";

2.在Internet信息服务(IIS)管理器,右击"Web服务扩展"->"增加一个新的Web服务扩

展...",在"新建Web服务扩展"框中输入扩展名"HTTPCompression"或者”gzip”,添加"

要求的文件"为C:\WINDOWS\system32\inetsrv\gzip.dll,其中 Windows系统目录根据您的安装可能有所不同,选中"设置扩展状态为允许";

3.使用文本编辑器打开C:\Windows\System32\inetsrv\MetaBase.xml(建议先备份),找到

Location ="/LM/W3SVC/Filters/Compression/gzip",如果需要压缩动态文件,则将HcDoDynamicCompression设置为"TRUE",并在HcScriptFileExtensions中增加您要压缩的动态文件后缀名,如aspx;如果需要压缩静态文件,则将HcDoStaticCompression和HcDoOnDemandCompression设置为 "TRUE",并在HcFileExtensions中增加您需要压缩的静态文件后缀名,如xml、css等; HcDynamicCompressionLevel和HcOnDemandCompLevel表示需要的压缩率,数字越小压缩率越低;

4.由于iis默认支持http1.1不支持http1.0,也不允许代理访问压缩,需我们将下面的两项

设置为允许由TRUE修改为FALSE:

HcNoCompressionForHttp10 对Http1.0禁用压缩

HcNoCompressionForProxies 对代理禁用禁用压缩

5.编辑完毕后保存MetaBase.xml文件;如果文件无法保存,则可能IIS正在使用该文件。打

开"开始"->"管理工具"->"服务",停止"IIS Admin Service"后,即可保存;

6.保存完毕后需要将相关文件进行添加vary头信息,然后重启网站,就可以实现通过代理压

缩的功能

二、IIS 7.0中配置HTTP Gzip压缩

1.在IIS7默认情况下就是启用GZip压缩的。如果没有,则可以再功能视图下找到“压缩”项,进入之后就会看到“静态内容压缩”和“动态内容压缩”两个选项,勾上即可。

当开启GZip压缩之后,IIS并不是对所有内容都启用了压缩,而是有选择的进行压缩。遗憾的是,我们无法直接在IIS7管理器中配置这些压缩选项。我们首先需要在C:\Windows\System32\inetsrv\config文件夹下找到applicationhost.config文件,打开之后找到如下一节内容:

注意事项:1。图片默认情况下是不被压缩的,这是因为图片的压缩比太低了。

2.Javascript有三种常见的Mime类型,text/javascript,application/x-javascript,

application/javascript。这三种类型都是合法的,在现代浏览器中也不存在什么差别。但是由于IIS7中Js文件的mime类型默认被设置为application/x-javascript,也就是说对于js文件,使用的是动态内容压缩而不是静态内容压缩,因此会导致js文件有时经过压缩的,有时却没有压缩。因此建议改成静态压缩——即把dynamicTypes这一节中的application/x-javascript挪到静态压缩节中。这样保证每次脚本都是被压缩过返回的。

3. 完毕后需要将相关文件进行添加vary头信息,然后重启网站,就可以实现通过代理压缩的功能

三、nginx中配置HTTP Gzip压缩

Nginx默认不支持http1.0协议通信压缩,支持http1.1,这样需要我们修改一下配置文件,具体操作步骤如下:

1.打开nginx.conf配置文件找到gzip on刚配置好的nginx服务此选项是被注释掉的,将其

打开后,默认支持http1.1,不支持http1.0

2.怎样设置能使得http1.0支持gzip压缩,需要手动添加配置如下:

gzip on; #打开gzip压缩

gzip_http_version 1.0; #允许http1.0协议压缩

gzip_min_length 1000; #压缩的最小字节(可以不设置)

gzip_buffers 4 8k;

gzip_types text/plain application/x-javascript text/css text/html application/xml; #压缩类型gzip_vary on; #开启vary头

设置完毕后保存,将其nginx服务重启一下,测试就可以了。

四、apache中配置HTTP Gzip压缩

Apache 默认就支持http1.0协议通信压缩,不需要特定配置,但是要制定那些文件类型压缩需要修改配置文件,具体如下:

我这边以apache2.2.3版本为例:

1.首先查找mod_deflate.c库

将安装包解压后进入/usr/local/src/httpd-2.2.3/modules/filters目录下

2.然后安装mod_deflate模块

/usr/local/apache/bin/apxs -i -c -a mod_deflate.c

3.配置mod_deflate

编辑/usr/local/apache/conf/http.conf找到LoadModule deflate_module modules/mod_deflate.so将其模块打开

4.设置制定文件类型,然后保存重启服务

5.完毕后需要将相关文件进行添加vary头信息,然后重启网站,就可以实现通过代理压缩的

功能.

相关文档