Nginx启用gzip压缩的方法示例

在服务器完成了一些配置以后,还需要做的一件事:启用gzip来压缩返回的数据,从而来加快网站的加载速度。

以下为在Nginx上启用gzip的相关配置(将其添加到配置文件即可):

# 开启gzip
gzip on;
 
# 启用gzip压缩的最小文件,小于设置值的文件将不会压缩
gzip_min_length 1k;
 
# gzip 压缩级别,1-10,数字越大压缩的越好,也越占用CPU时间。
gzip_comp_level 2;
 
# 进行压缩的文件类型。
gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript image/svg+xml font/ttf font/otf;
 
# 是否在http header中添加Vary: Accept-Encoding,建议开启
gzip_vary on;
 
# 禁用IE 6 gzip
gzip_disable "MSIE [1-6]\.";

更加详细的配置参考:http://nginx.org/en/docs/http/ngx_http_gzip_static_module.html

其中比较让人疑惑不知道怎么设置的是压缩等级。有人对压缩等级做了测试,具体数据如下:

text/html C phpinfo():

0  55.38 KiB (100.00% of original size)
1  11.22 KiB ( 20.26% of original size)
2  10.89 KiB ( 19.66% of original size)
3  10.60 KiB ( 19.14% of original size)
4  10.17 KiB ( 18.36% of original size)
5   9.79 KiB ( 17.68% of original size)
6   9.62 KiB ( 17.37% of original size)
7   9.50 KiB ( 17.15% of original size)
8   9.45 KiB ( 17.06% of original size)
9   9.44 KiB ( 17.05% of original size)

application/x-javascript C jQuery 1.8.3 (Uncompressed):

0 261.46 KiB (100.00% of original size)
1 95.01 KiB ( 36.34% of original size)
2 90.60 KiB ( 34.65% of original size)
3 87.16 KiB ( 33.36% of original size)
4 81.89 KiB ( 31.32% of original size)
5 79.33 KiB ( 30.34% of original size)
6 78.04 KiB ( 29.85% of original size)
7 77.85 KiB ( 29.78% of original size)
8 77.74 KiB ( 29.73% of original size)
9 77.75 KiB ( 29.74% of original size)

可以看到压缩等级在1以后的效果就慢慢衰退了,建议采用压缩等级2即可。

相关测试工具:

https://developers.google.com/speed/pagespeed/insights/
https://varvy.com/tools/gzip/

相关推荐