Nginx 開啟 gzip和緩存
時間:2016-09-23 16:42:37
nginx 是一個高性能的 Web 服務器吞鸭,之前也寫過一些關于 nginx 的文章官册。為了提高博客的響應速度,可以從設置 nginx 的 gzip 和緩存這2方面入手。為字體開啟 gzip 和緩存能大大減少帶寬的消耗链烈。
開啟GZIP配置
# 開啟gzip
gzip on;
# 啟用gzip壓縮的最小文件,小于設置值的文件將不會壓縮
gzip_min_length 1k;
# gzip 壓縮級別挚躯,1-10强衡,數字越大壓縮的越好,也越占用CPU時間码荔,后面會有詳細說明
gzip_comp_level 2;
# 進行壓縮的文件類型漩勤。javascript有多種形式。其中的值可以在 mime.types 文件中找到缩搅。
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
# 是否在http header中添加Vary: Accept-Encoding越败,建議開啟
gzip_vary on;
# 禁用IE 6 gzip
gzip_disable "MSIE [1-6]\.";
gzip_comp_level 參數
Nginx開啟gzip的壓縮效果
從圖中可以看出,壓縮等級在 1 之后的壓縮效果都不是很明顯硼瓣,因此設置的時候究飞,設置 1 或者 2即可。
開啟成功巨双,則請求資源如下
開啟緩存
配置
location ~* ^.+\.(ico|gif|jpg|jpeg|png)$ {
access_log off;
expires 30d;
}
location ~* ^.+\.(css|js|txt|xml|swf|wav)$ {
access_log off;
expires 24h;
}
location ~* ^.+\.(html|htm)$ {
expires 1h;
}
其中的緩存時間可以自己根據需要修改噪猾。
關于字體
為靜態(tài)資源開啟緩存能夠較少服務器帶寬的消耗霉祸,特別是在css中使用字體時筑累,同時配合gzip壓縮能夠大大減少下載字體造成的帶寬影響。
設置字體緩存
需要注意的是丝蹭,字體有很多格式慢宗,為所有字體格式設置緩存是很有必要的。
location ~* ^.+\.(eot|ttf|otf|woff|svg)$ {
access_log off;
expires max;
}
啟用gzip
只需要為 ttf奔穿、otf 和 svg 字體啟用 gzip镜沽,對其他字體格式進行 gzip 壓縮時效果不明顯。
gzip_types font/ttf font/otf image/svg+xml
各種字體類型壓縮效果可以參考以下測試結果:
ttf字體壓縮效果
otf字體壓縮效果
svg字體壓縮效果
woff字體壓縮效果
eot字體壓縮效果
可以看到對 woff 和 eot 進行 gzip 壓縮效果不好贱田。
字體總結
擴展名 | 是否壓縮 | Content-type |
---|---|---|
.eot | 否 | application/vnd.ms-fontobject |
.ttf | 是 | font/ttf |
.otf | 是 | font/opentype |
.woff | 否 | font/x-woff |
.svg | 是 | image/svg+xml |