1. 介绍

    nginx就支持这种功能,它可以把静态文件压缩好之后再传给浏览器。浏览器也要支持这种功能,只要浏览器的请求头带上就可以了。假如有一个文件叫application.css,那nginx就会使用gzip模块把这个文件压缩,然后传给浏览器,浏览器再解压缩成原来的css文件,就能读取了。

    所有的这一切都需要nginx已经有编译过ngx_http_gzip_module这个模块。这个模块能对需要的静态文件压缩大小,比如图片,css,javascript,html等。压缩是需要消耗CPU,但能提高传缩的速度,因为传缩量少了许多,从而节省带宽。

    2. 使用

    使用之前先来查看一下是否编译了ngx_http_gzip_module这个模块。

    如果输出,说明已经编译了。没有的话,可以参考这篇文章来编译。

    要配置nginx的gzip也很简单。

    然后在需要压缩的静态资源那里加上下面三行。

    改了配置用sudo nginx -s reload重新加载生效。

    3. 测试

    要测试可以使用浏览器,比如chrome。

    只要用开发者的network功能查看两次资源的大小就好了。比如:

    在压缩前:

    压缩后:

    或者使用curl工具也可以。

    只要返回Content-Encoding: gzip说明成功的。

    完结。