linux CentOS7 下 Nginx 1.13.7 配置gzip压缩提升网站速度与负载

来源:互联网 发布:恒生电子 软件下载 编辑:程序博客网 时间:2024/06/02 03:04

gzip简介

废话不说,gzip简单点说是一种压缩算法或工具,用在网站上的作用减少网站流量,提升网站打开速度提升网站性能。
原理是在服务器进行压缩,通过网络传输压缩后的内容,客户端在进行解压显示。类似于rar压缩软件一样。
gzip常用配置项:
gzip on | off;#是否开启gzip压缩。默认offgzip_buffers number size; gzip_comp_level level;#压缩等级选择范围1-9,数字越大压缩比越高,相应cup使用越严重。默认1gzip_disable regex ...;#正则表达式 那些uri不使用压缩。推荐图片视频exe等二进制文件不压缩(压缩比太低浪费资源)。gzip_min_length length;#大于等于多少字节码开启压缩(文件太小不建议压缩,因为太小的文件压缩后可能比压缩前还要大,因为需要向文件中写入压缩格式)。默认20gzip_http_version 1.0 | 1.1; #http服务版本。默认1.1gzip_proxied off | expired | no-cache | no-store | private | no_last_modified | no_etag | auth | any ...;设置请求者代理服务器,该如何缓存内容。默认offgzip_types mime-type ...;#对何种类型进行压缩,全部类型可查看nginx下conf/mime.types。默认text/htmlgzip_vary on | off;是否传输gzip压缩标志。默认off

Nginx使用gzip

1、启动nginx    /usr/local/nginx/sbin/nginx
2、访问nginx主页http://192.168.1.6/index.html
3、使用谷歌浏览器的开发者工具,查看index.html头信息
4、开打nginx.conf配置文件
vim /usr/local/nginx/conf/nginx.conf
5、根据官方文档介绍nginx上可以将gzip配置在http、server、location上下文中或者在location中的if段中。

官网文档地址 http://nginx.org/en/docs/http/ngx_http_gzip_module.html
我选择配置在server中配置,在server中加入如下项目:
        gzip on;        gzip_buffers 32 4K;        gzip_comp_level 6;        gzip_min_length 400;        gzip_types text/plain application/xml application/javascript;        gzip_vary on;
以上内容在测试环节最重要的属于gizp_min_length 的设置,鉴于index.html是612字节,我设置gzip_min_length为400,这样测试才能看出效果。
对nginx.conf编辑完毕 保存。
重启加载配置nginx(有称为软重启的)
/usr/local/nginx/sbin/nginx -s reload
刷新http://192.168.1.6/index.html
再次使用开发者工具查看头信息。注意刷新时需要先清除缓存,也可以在index.html稍作修改就不会使用缓存。

注意:

一、设置压缩类型gzip_types text/plain应该注意任何类型的文件压缩比可能不尽相同,例如文本类型压缩后可能是压缩前的四分之一五分之一大小。但是mp3、图片等二进制类型的压缩比非常小,100mb压缩后可能只压缩掉10mb左右,所以在cup资源与内存资源适当做出选择。
二、设置gzip_min_length 值不是设置越小越好,因为压缩是需要将压缩的格式内容写入压缩文件中,所以当本身内容已经非常小了,再压缩的话可能比不压缩还要大。
经过测试10字节的txt,压缩后的rar有130多字节。


原创粉丝点击