服务器开启Gzip压缩功能

服务器开启Gzip压缩功能,第1张

在负载均衡中有一个必须要做的事情就是给服务器开启Gzip压缩功能,对用户请求的页面进行压缩处理,以达到节省网络带宽,提高网站速度的作用。

Gzip是若干文件压缩程序的简称,通常指GNU计划的实现,此处的Gzip代表的就是GUN ZIP,这也是HTTP1.1协议定义的两种压缩方法中最常用的一种压缩方法,客户端浏览器大都支持这种压缩格式。

接下来,将介绍Apache、Nginx 如何开启Gzip压缩。

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

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

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

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

打开配置文件 nginx.conf找到Gzip on 把前面的注释符号#去掉即可开启GZIP服务。然后配置GZIP即可。

下面是一个相对优化不错的配置。

nginx 是一个高性能的 Web 服务器,合理配置nginx可以有效提高网站的响应速度。

本文介绍 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>

其中的缓存时间可以自己根据需要修改。

前端打包压缩的有grunt,gulp,webpack,而gzip压缩是指服务端对资源进行压缩。

gzip是GNUzip的缩写,最早用于UNIX系统的文件压缩。HTTP协议上的gzip编码是一种用来改进web应用程序性能的技术,web服务器和客户端(浏览器)必须共同支持gzip。

客户端可以事先声明一系列的可以支持压缩模式,与请求一齐发送。 Accept-Encoding 这个首部就是用来进行这种内容编码形式协商的:

服务器在 Content-Encoding 响应首部提供了实际采用的压缩模式:

可以使用 compression-webpack-plugin 插件,打包后会生成gz后缀的文件。然后nginx配置gzip_static on

gzip_static是会自动执行gz文件的,这样的就避免了通过gzip自动压缩;


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/224370.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-07
下一篇2023-04-07

发表评论

登录后才能评论

评论列表(0条)

    保存