Nginx gzip模块类似于apach的mod_deflate压缩功能,依赖ngx_http_gzip_module模块。
压缩配置:
gzip on #开启起压缩功能
gzip_min_length 1k; #设置允许亚索页面的最小字节数,页面字节数从header头的Content-Length中获取。默认值是0,不管页面多大都进行压缩。建议设置成大于1k。如果小于1k,可能会越压越大。
gzip_buffers 4 16k;
#表示申请4个单位为16k的内存作为压缩结果流缓存,默认值是申请与原始数据大小相同的内存空间来存储gzip压缩结果。
gzip_http_version 1.0;
#压缩版本,默认1.1.用于设置识别HTTP协议版本。
gzip_comp_level 2;
#压缩比率。用来指定GZIP压缩比,1压缩比最小,处理速度最快;9压缩比最大,传输速度最快,处理速度最慢,也比较消耗CPU资源。
gzip_types
#用来指定压缩的类型,“text/html”文件总是会被压缩
gzip_vary on
#vary header支持,该选项是让CDN缓存服务器发给客户端的文件也要进行压缩。
##bbs
server {
listen 80;
server_name bbs.etiantian.org;
location / {
root html/bbs;
index index.html index.htm;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 3650d;
root html/bbs;
}
location ~ .*|.(js|css)?$
{
expires 30d;
root html/bbs;
}
error_page 500 502 503 504 404 /50x.html;
access_log logs/bbs.access.log ;
location = /50x.html {
root html/bbs;
}
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_vary on; ##添加压缩模块
}
需要压缩对象:
一般是纯文本文件。图片视频不要压缩,可能会越压越大