参考

`gzip`是一种流行的数据压缩程序。您可以使用gzip压缩Nginx实时文件。这些文件在检索时由支持它的浏览器解压缩,好处是web服务器和浏览器之间传输的数据量更小,速度更快。

gzip不一定适用于所有文件的压缩。例如,文本文件压缩得非常好,通常会缩小两倍以上。另一方面,诸如JPEG或PNG文件之类的图像已经按其性质进行压缩,使用gzip压缩很难有好的压缩效果或者甚至没有效果。压缩文件会占用服务器资源,因此最好只压缩那些压缩效果好的文件。

Step1

安装好nginx, 安装教程可以看这里: Nginx的基本安装配置

Step2

修改nginx配置文件: /etc/nginx/nginx.conf

gzip有关的配置部分:

http {
...
gzip on;
gzip_disable "msie6"; #配置禁用gzip条件,支持正则。此处表示ie6及以下不启用gzip(因为ie低版本不支持) gzip_vary on; #选择支持vary header;改选项可以让前端的缓存服务器缓存经过gzip压缩的页面; 这个可以不写,表示在传送数据时,给客户端说明我使用了gzip压缩
# gzip_proxied any;
gzip_comp_level 6; #设置压缩比率,最小为1,处理速度快,传输速度慢;9为最大压缩比,处理速度慢,传输速度快; 这里表示压缩级别,可以是0到9中的任一个,级别越高,压缩就越小,节省了带宽资源,但同时也消耗CPU资源,所以一般折中为6
gzip_buffers 16 8k; #设置压缩缓冲区大小,此处设置为4个16K内存作为压缩结果流缓存****
gzip_http_version 1.1; #压缩版本
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
... include /etc/nginx/conf.d/*.conf;
}
  • gzip_types 压缩文件的类型
  • gzip_min_length 256; 告诉nginx不要压缩小于256kb的文件

线上gzip的配置:

http {
.......
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 9;
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php application/javascript application/json;
gzip_disable "MSIE [1-6]\.";
gzip_vary on;
}

图片如jpg png本身就有压缩, 对图片启用gzip的几乎没有意义, 反而会浪费服务器运算资源.

05-19 00:16