服务器启用gzip压缩(apache开启gzip压缩)
- 服务器
- 2022-12-18 20:37:19
- 16
本篇文章给大家谈谈服务器启用gzip压缩,以及apache开启gzip压缩对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
Nginx开启和配置Gzip压缩
nginx 是一个高性能的 Web 服务器,合理配置nginx可以有效提高网站的响应速度。
本文介绍 nginx 的 gzip 和缓存开启配置。
gzip的压缩页面需要浏览器和服务器双方都支持,实际上就是服务器端压缩,传到浏览器后浏览器解压并解析。
Nginx的压缩输出有一组gzip压缩指令来实现。
相关指令位于 http{…} 两个大括号之间。
pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size: 14px; margin-top: 0px; margin-bottom: 1rem; overflow: auto; display: block; color: rgb(33, 37, 41); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"# 开启gzip
gzip on;
gzip_min_length 1k;
gzip_comp_level 6;
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary on;
gzip_disable "MSIE [1-6].";/pre
关于具体的参数说明可以参考 nginx 的文档 。
pre style="box-sizing: border-box; font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size: 14px; margin-top: 0px; margin-bottom: 1rem; overflow: auto; display: block; color: rgb(33, 37, 41); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"location ~* ^.+.(ico|gif|jpg|jpeg|png)$ {
access_log off;
expires 30d;
}
location ~* ^.+.(css|js|txt|xml|swf|wav)$ {
access_log off;
expires 24h;
}
location ~* ^.+.(html|htm)$ {
expires 1h;
}/pre
其中的缓存时间可以自己根据需要修改。
如何开启gzip压缩
gzip是HTML压缩算法的一种,HTTP压缩是在Web服务器和浏览器间传输压缩文本内容的方法。HTTP压缩工作原理是:
Web服务器接收到浏览器的HTTP请求后,检查浏览器是否支持HTTP压缩;
如果浏览器支持HTTP压缩,Web服务器检查请求文件的后缀名;
如果请求文件是HTML、CSS等静态文件,Web服务器到压缩缓冲目录中检查是否已经存在请求文件的最新压缩文件;
如果请求文件的压缩文件不存在,Web服务器向浏览器返回未压缩的请求文件,并在压缩缓冲目录中存放请求文件的压缩文件;
如果请求文件的最新压缩文件已经存在,则直接返回请求文件的压缩文件;
如果请求文件是ASPX等动态文件,Web服务器动态压缩内容并返回浏览器,压缩内容不存放到压缩缓存目录中。
怎么做gzip压缩呢?大致有:在Contol Pannel开启gzip、开启http服务器gzip、利用php本身的gzip。
IE6和火狐都支持客户端gzip,在网页传输之前,先使用gzip压缩再传输给客户端,客户端接收之后由浏览器解压显示。
IIS6已经内建了gzip压缩的支持。在IIS6上做gzip压缩的方法是:
如果你需要压缩静态文件,可以先在硬盘上新建一个目录,并给它“IUSR_机器名”这个用户设置写权限。如果压缩动态文件就可以不用这样的,因为它的页面是每次都动态生成的(页面动态生成),压缩完就放弃。然后在IIS管理器中,“网站”上面右键-属性,不是下面的某个站点,而是整个网站。进入“服务”标签,选上启用动态内容压缩,静态内容压缩。给gzip的临时目录空间不要太大了200MB左右就够了。
然后选中网站下面那个服务器扩展,新建一个服务器扩展。可以用任何你想用的名字,下面的添加文件的路径是:
c:\windows\system32\inetsrv\gzip.dll,然后启用这个扩展。
这时候静态内容是可以压缩的,但是对于动态内容,aspx文件却不在压缩范围内。我们只能去修改它的配置文件了。
在c:\windows\system32\inetsrv\下面有个MetaBase.xml文件,可以用记事本打开,找到IIsCompressionScheme,有三个相同名字的段,
分别是
IIsCompressionScheme Location =“/LM/W3SVC/Filters/Compression/deflate”
IIsCompressionScheme Location =“/LM/W3SVC/Filters/Compression/gzip”
IIsCompressionSchemes Location =“/LM/W3SVC/Filters/Compression/Parameters”
前两段有基本相同的参数,在这两段的参数HcScriptFileExtensions下面都加上一行aspx,如果你有其它的动态程序要压缩,也加在这里。HcDynamicCompressionLevel改成9,9是性价比最高的一个。
至此,怎么做gzip压缩的过程我们就都实现了,需要注意的是:网页启用了gzip压缩后网站打开速度通常可能不会有太明显的感觉(相对于浏览者),可以用一些特定的来检查你的网页是否压缩过了,以及压缩比和加快的速度。
如何给Windows2003+IIS6.0服务器开启GZIP压缩
第一步,打开Internet信息服务(IIS)管理器,右击“网站”-》“属性”,进入“服务”选项,之后在“HTTP压缩”的大框中把“压缩应用程序文件”和“压缩静态文件”两个都选上,而“临时目录”和“临时目录的最大限制”直接使用默认值即可。
第 二步,还是在Internet信息服务(IIS)管理器中,右击“Web服务扩展”选项,选择“增加一个新的Web服务扩展”,在“新建Web服务扩展” 框内输入扩展名为“HTTP Compression”,“要求的文件”添加路径为C:\WINDOWS\system32\inetsrv\gzip.dll,一般来说绝大多数 Windows2003服务器都应该是这个路径,如果有很特别的,就请根据自己的情况来选择gzip.dll的位置吧,记得把“设置扩展状态为允许”也勾 选上,然后点击确定。
第 三步,来到关键的一步了。先将IIS6.0服务器停止,请在“运行”中输入“cmd”,进入命令行,然后输入“net stop iisadmin”来停止IIS服务,再备份一下C:\Windows\System32\inetsrv\MetaBase.xml这个文件(在修改服 务器任何一个配置文件之前都应该备份,这是个人站长必备素质),之后用记事本打开该文件,进行相关设置的更改。
需 要更改的有两个地方,一个是Location ="/LM/W3SVC/Filters/Compression/deflate"的地方,另一个则是Location ="/LM/W3SVC/Filters/Compression/gzip",将这两个地方修改后就可以打开GZIP了。两个地方的内容更改完全一致, 所以只说一遍就可以了。
将HcDoDynamicCompression设置为“TRUE”,这个是用来压缩动态文件的,当然如果你不打算压缩动态文件,保持“FALSE”状态也可以,而HcscriptFileExtensions中是需要压缩的动态文件后缀,如asp、php、aspx等。
将HcDoStaticCompression和HcDoOnDemandCompression设置为“TRUE”,这是用来开启压缩静态文件的,没有理由不开启。在HcFileExtensions中添加需要压缩的静态文件后缀,如html、css、xml等。
HcDynamicCompressionLevel 和HcOnDemandCompLevel这两个属性,表示的是GZIP的压缩率,可以填写0-10之间的数字,默认为0,通常来说建议设置为9,这是最 具有性价比的选择。(图片中把php加到静态文件里面了,大家就无视吧,这是很久以前配置的,反正网站是静态的,php压缩不压缩无所谓)
修改完毕后,再把IIS服务器打开,依然在命令行中,输入“iisreset”命令。这样,GZIP压缩就打开了,可以用站长工具对自己的页面进行检查,看看效果如何。
需 要注意的是,在修改MetaBase.xml文件时,可能会出现无法保存的情况,系统会提示“文件正在使用,无法保存”,要解决这个问题,打开IIS,右 击“本地计算机”-》“属性”,在“Internet信息服务”中勾选“允许直接编辑配置数据库”,确定后,就可以顺利的编辑MetaBase.xml文 件了。
允许编辑配置数据库
在开启了GZIP后,网站打开速度会有较为明显的提升,而且也能节省不少的带宽和流量,带来的CPU资源消耗就无所谓了。也曾经有人担心搜索引擎对GZIP压缩的页面爬行有问题,事实证明完全不存在问题,只要是用户的浏览器可以正常访问的页面,搜索引擎爬行起来没有问题。
教你开启apache服务器gzip压缩配置的操作方法
实现操作
1、找到并打开apache/conf目录中的httpd.conf文件
2、httpd.conf中打开deflate_Module和headers_Module模块,具体做法为将
如下两句前面的#去掉:
LoadModule
deflate_module
modules/mod_deflate.so
LoadModule
headers_module
modules/mod_headers.so
3、在httpd.conf文件底部加入如下代码配置需要压缩的文件类型:
IfModule
deflate_moduleSetOutputFilter
DEFLATE#
Don’t
compress
images
and
otherSetEnvIfNoCase
Request_URI
.(?:gif|jpe?g|png)$
no-gzip
dont-varySetEnvIfNoCase
Request_URI
.(?:exe|t?gz|zip|bz2|sit|rar)$
no-gzip
dont-varySetEnvIfNoCase
Request_URI
.(?:pdf|doc)$
no-gzip
dont-varyAddOutputFilterByType
DEFLATE
text/html
text/plain
text/xml
text/cssAddOutputFilterByType
DEFLATE
application/x-javascript/IfModule
4、重启apache服务端
5、使用站长工具查看是否已经开启。
关于服务器启用gzip压缩和apache开启gzip压缩的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
本文由admin于2022-12-18发表在靑年PHP官网,如有疑问,请联系我们。
本文链接:https://www.qnphp.com/post/3224.html