极简配置
在站点的配置文件中(例如website.conf
)的server中添加gzip on
.
常规配置
按照下面代码进行配置
website.conf1 2 3 4 5 6 7 8 9 10
| server{ gzip on; gzip_buffers 32 4K; gzip_comp_level 6; gzip_min_length 1k; gzip_types application/javascript text/css text/xml; gzip_disable "MSIE [1-6]\."; gzip_http_version 1.1; gzip_vary on; }
|
保存并重启nginx,刷新页面(为了避免缓存,请强制刷新)就能看到效果了。以谷歌浏览器为例,通过F12看请求的响应头部。
gzip参数详解
gzip
解释:打开或关闭gzip
gzip_buffers
gzip_comp_level
gzip_disable
website.conf1 2
| gzip_disable "MSIE [1-6]\.";
|
gzip_min_length
gzip_http_version
gzip_proxied
website.conf1 2 3 4 5 6 7 8 9 10 11
|
gzip_proxied off;
|
gzip_vary
gzip_types
website.conf1 2 3
|
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 font/ttf font/otf image/svg+xml;
|
这里需要说明一些特殊的类型,使用”字体类型”的资源,而这些资源类型往往会被忽略,且这些资源又比较大,没有被压缩很不合算。(可以参考:http://www.darrenfang.com/2015/01/setting-up-http-cache-and-gzip-with-nginx/)
开启缓存
website.conf1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| 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; }
location ~* ^.+\.(eot|ttf|otf|woff|svg)$ { access_log off; expires 30d; }
|