vue 开启gzip ,nginx 配置gzip
第一步,打开Internet信息服务(IIS)管理器,右击“网站”-》“属性”,进入“服务”选项,之后在“HTTP压缩”的大框中把“压缩应用程序文件”和“压缩静态文件”两个都选上,而“临时目录”和“临时目录的最大限制”直接使用默认值即可。
IIS60开启GZIP第一步
第 二步,还是在Internet信息服务(IIS)管理器中,右击“Web服务扩展”选项,选择“增加一个新的Web服务扩展”,在“新建Web服务扩展” 框内输入扩展名为“HTTP Compression”,“要求的文件”添加路径为C:\WINDOWS\system32\inetsrv\gzipdll,一般来说绝大多数 Windows2003服务器都应该是这个路径,如果有很特别的,就请根据自己的情况来选择gzipdll的位置吧,记得把“设置扩展状态为允许”也勾 选上,然后点击确定。
IIS60开启GZIP第二步
第 三步,来到关键的一步了。先将IIS60服务器停止,请在“运行”中输入“cmd”,进入命令行,然后输入“net stop iisadmin”来停止IIS服务,再备份一下C:\Windows\System32\inetsrv\MetaBasexml这个文件(在修改服 务器任何一个配置文件之前都应该备份,这是个人站长必备素质),之后用记事本打开该文件,进行相关设置的更改。
需 要更改的有两个地方,一个是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压缩不压缩无所谓)
IIS60开启GZIP第三步
修改完毕后,再把IIS服务器打开,依然在命令行中,输入“iisreset”命令。这样,GZIP压缩就打开了,可以用站长工具对自己的页面进行检查,看看效果如何。
需 要注意的是,在修改MetaBasexml文件时,可能会出现无法保存的情况,系统会提示“文件正在使用,无法保存”,要解决这个问题,打开IIS,右 击“本地计算机”-》“属性”,在“Internet信息服务”中勾选“允许直接编辑配置数据库”,确定后,就可以顺利的编辑MetaBasexml文 件了。
允许编辑配置数据库
在开启了GZIP后,网站打开速度会有较为明显的提升,而且也能节省不少的带宽和流量,带来的CPU资源消耗就无所谓了。也曾经有人担心搜索引擎对GZIP压缩的页面爬行有问题,事实证明完全不存在问题,只要是用户的浏览器可以正常访问的页面,搜索引擎爬行起来没有问题。
在 Network 下可以看到一些页面请求,再请求记录的表头右击,勾选 “Content Encoding”,可以在出现的对应列里查看编码,比如红框里的“gzip”;
单击一个 gzip 得请求,在响应头里也可看到对应的编码:
1 在vueconfigjs 里面引入'compression-webpack-plugin'
3、打包npm run build 后目标文件里出现 gz 压缩文件即成功
访问 网站,出现一下标志,证明nginx 配置成功
GZIP压缩是一个经常被用到的WEB性能优化的技巧,它主要是对页面代码,CSS,Javascript,PHP等文件进行压缩,而且在压缩的前后,文件的大小会有明显的改变,从而达到网站访问加速的目的。
IIS启用gzip压缩方法
第一步:打开IIS,启用HTTP压缩服务
右击"网站"->"属性",选择"服务"。在"HTTP压缩"框中选中"压缩应用程序文件"和" 压缩静态文件",按需要设置"临时目录"和"临时目录的最大限制";
第二步:启用web服务
第三步:修改MetaBasexml
开始 > 运行中输入 c:\windows\system32\inetsrv,找到 MeteBasexml,先备份,再修改。(有的服务器不需要修改此文件便可以使用)
搜索 Location ="/LM/W3SVC/Filters/Compression/gzip"
仔细核对下代码:
<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/deflate"HcCompressionDll="%windir%\system32\inetsrv\gzipdll"
HcCreateFlags="0"
HcDoDynamicCompression="TRUE"
HcDoOnDemandCompression="TRUE"
HcDoStaticCompression="FALSE"
HcDynamicCompressionLevel="0"
HcFileExtensions="htm
html
txt"
HcOnDemandCompLevel="10"
HcPriority="1"
HcScriptFileExtensions="asp
dll
exe"
>
</IIsCompressionScheme>
<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/gzip"
HcCompressionDll="%windir%\system32\inetsrv\gzipdll"
HcCreateFlags="1"
HcDoDynamicCompression="TRUE"
HcDoOnDemandCompression="TRUE"
HcDoStaticCompression="TRUE"
HcDynamicCompressionLevel="0"
HcFileExtensions="htm
html
txt"
HcOnDemandCompLevel="10"
HcPriority="1"
HcScriptFileExtensions="asp
dll
exe"
>
</IIsCompressionScheme>
替换成:
<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/gzip"HcCompressionDll="%windir%\system32\inetsrv\gzipdll"
HcCreateFlags="1"
HcDoDynamicCompression="TRUE"
HcDoOnDemandCompression="TRUE"
HcDoStaticCompression="TRUE"
HcDynamicCompressionLevel="10"
HcFileExtensions="html
css
js
htm
xml
txt"
HcOnDemandCompLevel="10"
HcPriority="1"
HcScriptFileExtensions="php
dll"
>
</IIsCompressionScheme>
<IIsCompressionScheme Location ="/LM/W3SVC/Filters/Compression/deflate"
HcCompressionDll="%windir%\system32\inetsrv\gzipdll"
HcCreateFlags="2"
HcDoDynamicCompression="TRUE"
HcDoOnDemandCompression="TRUE"
HcDoStaticCompression="TRUE"
HcDynamicCompressionLevel="10"
HcFileExtensions="html
css
js
htm
xml
txt"
HcOnDemandCompLevel="10"
HcPriority="1"
HcScriptFileExtensions="php
dll"
>
</IIsCompressionScheme>
修改好后,在服务中停止IIS Admin Service 服务。
然后再保存MeteBasexml,保存好后再启动IIS。这样Gzip压缩就启用成功了。
Apache启用gzip压缩方法Apache上利用Gzip压缩算法进行压缩的模块有两种:mod_gzip 和mod_deflate。
要使用Gzip
Web压缩,请首先确定你的服务器开启了对这两个组件之一的支持。在Linux服务器上,现在已经有越来越多的空间商开放了对它们的支持,有的甚至是同时
支持这两个模块的。例如目前Godaddy、Bluehost及DreamHosts等空间商的服务器都已同时支持mod_gzip
和mod_deflate。
虽然使用Gzip同时也需要客户端浏览器的支持,不过不用担心,目前大部分浏览器都已经支持Gzip了,如IE、Mozilla Firefox、Opera、Chrome等。
通过查看HTTP头,我们可以快速判断使用的客户端浏览器是否支持接受gzip压缩。若发送的HTTP头中出现以下信息,则表明你的浏览器支持接受相应的gzip压缩:
Accept-Encoding: gzip 支持mod_gzipAccept-Encoding: deflate 支持mod_deflate
Accept-Encoding: gzip,deflate 同时支持mod_gzip 和mod_deflate
在apache20以上(包括apache20)的版中gzip压缩使用的是mod_deflate模块,下面是具体配置步骤 如下:
1、修改Apache的httpconf文件,去除mod_deflateso前面的注释
LoadModule deflate_module modules/mod_deflateso2、在根目录中新建htaccess文件,定制压缩规则
#GZIP压缩模块配置<ifmodule mod_deflatec>
#启用对特定MIME类型内容的压缩
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI
(:gif|jpeg|png|exe|tgz|zip|bz2|sit|rar|pdf|mov|avi|mp3|mp4|rm)$ no-gzip
dont-vary #设置不对压缩的文件
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml
application/x-httpd-php application/x-javascript #设置对压缩的文件
</ifmodule>
3、对指定的文件配置缓存的生存时间,去除mod_headersso模块前面的注释
LoadModule headers_module modules/mod_headersso4、在根目录中新建htaccess文件,定制压缩规则
#文件缓存时间配置<FilesMatch "(flv|gif|jpg|jpeg|png|ico|swf|js|css)$">
Header set Cache-Control "max-age=2592000"
</FilesMatch>
里面的文件MIME类型可以根据自己情况添加,至于PDF 、、音乐文档之类的这些本身都已经高度压缩格式,重复压缩的作用不大,反而可能会因为增加CPU的处理时间及浏览器的渲染问题而降低性能。所以就没必要再通过Gzip压缩。通过以上设置后再查看返回的HTTP头,出现以下信息则表明返回的数据已经过压缩。即网站程序所配置的Gzip压缩已生效。
Content-Encoding: gzip注:不管使用mod_gzip 还是mod_deflate,此处返回的信息都一样。因为它们都是实现的gzip压缩方式。
0条评论