開啟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 參數
關於 gzip_comp_level 的合理值,可以參考下圖。來自
從圖中可以看出 gzip_comp_level
大於2時效果並不是很明顯。所以可以將值設為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; }
其中的快取時間可以自己根據需要修改。
關於字體
為靜態資源開啟快取能夠較少伺服器頻寬的消耗,特別是在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
各種字體類型壓縮效果可以參考以下測試結果:
#可以看到對woff 和eot 進行gzip 壓縮效果不好。
字型總結
副檔名 | 是否壓縮 | ##content-type|
---|---|---|
#application/vnd.ms-fontobject | ||
是 | font/ttf | |
是 | #font/opentype | |
否 | font/x-woff | |
是 | image/svg xml |
以上是怎麼加速nginx效能的詳細內容。更多資訊請關注PHP中文網其他相關文章!