Nginx加速:启用gzip压缩和浏览器缓存
Nginx是一个高性能的Web服务器,之前也写过一些关于nginx的文章。为了提高博客的响应速度,可以从设置nginx的gzip和浏览器缓存这两个方面入手。为字体开启gzip和缓存能大大减少带宽的消耗。
开启gzip
Nginx配置参数
1 | # 开启gzip |
gzip_comp_level
参数的推荐值
来自serverfault的一个讨论,有人做了压缩比的实验,结果如下:
压缩HTML文件
1 | 级别 压缩之后的大小(压缩比) |
压缩JS文件(jQuery 1.8.3)
级别 压缩之后的大小(压缩比)
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)
从图中可以看出gzip_comp_level
大于2时效果并不是很明显。所以可以将值设置为1或者2。
选择性的开启字体压缩
为静态资源开启缓存能够较少服务器带宽的消耗,特别是在css中使用字体时,同时配合gzip压缩能够大大减少下载字体造成的带宽影响。
需要注意:只需要为ttf、otf和svg字体启用gzip,对其他字体格式进行gzip压缩时效果不明显。
1 | gzip_types font/ttf font/otf image/svg+xml |
各种字体类型压缩效果可以参考引用原文reference。
字体压缩总结
扩展名 | 是否压缩 | Content-type |
---|---|---|
.eot | 否 | application/vnd.ms-fontobject |
.ttf | 是 | font/ttf |
.otf | 是 | font/opentype |
.woff | 否 | font/x-woff |
.svg | 是 | image/svg+xml |
开启浏览器缓存
Nginx配置
1 | location ~* ^.+\.(ico|gif|jpg|jpeg|png)$ { |
其中的缓存时间可以自己根据需要修改。
开启字体缓存
1 | location ~* ^.+\.(eot|ttf|otf|woff|svg)$ { |
转载请注明出处:Nginx加速:启用gzip压缩和浏览器缓存
原文地址:https://www.xiaotanzhu.com/web%E6%9C%8D%E5%8A%A1%E5%99%A8/2016-08-04-enable-gzip-in-nginx.html