本文介绍 nginx 的 gzip 和缓存开启配置。
gzip的压缩页面需要浏览器和服务器双方都支持,实际上就是服务器端压缩,传到浏览器后浏览器解压并解析。
Nginx的压缩输出有一组gzip压缩指令来实现。
相关指令位于 http{…} 两个大括号之间。
<pre style="box-sizing: border-boxfont-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospacefont-size: 14pxmargin-top: 0pxmargin-bottom: 1removerflow: autodisplay: blockcolor: rgb(33, 37, 41)font-style: normalfont-variant-ligatures: normalfont-variant-caps: normalfont-weight: 400letter-spacing: normalorphans: 2text-align: lefttext-indent: 0pxtext-transform: nonewidows: 2word-spacing: 0px-webkit-text-stroke-width: 0pxtext-decoration-thickness: initialtext-decoration-style: initialtext-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-boxfont-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospacefont-size: 14pxmargin-top: 0pxmargin-bottom: 1removerflow: autodisplay: blockcolor: rgb(33, 37, 41)font-style: normalfont-variant-ligatures: normalfont-variant-caps: normalfont-weight: 400letter-spacing: normalorphans: 2text-align: lefttext-indent: 0pxtext-transform: nonewidows: 2word-spacing: 0px-webkit-text-stroke-width: 0pxtext-decoration-thickness: initialtext-decoration-style: initialtext-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>
其中的缓存时间可以自己根据需要修改。
实现操作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_module>SetOutputFilter
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、使用站长工具查看是否已经开启。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)