nginx配置
一、压缩配置
#全局配置 http { gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_comp_level 2; gzip_types text/plain application/x-javascript text/css application/xml application/javascript text/javascript application/json application/x-httpd-php image/jpeg image/gif image/png; gzip_vary off; gzip_disable "MSIE [1-6]\."; }
参数说明
gzip_min_length 1K; 当返回内容大于此值时才会使用gzip进行压缩,以K为单位,当值为0时,所有页面都进行压缩。 gzip_buffers 4 16K; 设置缓冲区数量和大小。比如4 16K表示按照内存页(one memory page)大小以16K为单位(即一个系统中内存页为4K),申请4倍的内存空间。建议此项不设置,使用默认值。 gzip_comp_level 2; 设置gzip压缩级别,数字越低压缩速度越快文件压缩比越小,反之速度越慢文件压缩比越大,gzip很消耗cpu的性能,高并发情况下cpu可能达到100%;因此尽量不要设置高级别; gzip_types .....; 设置需要压缩的类型,注意javascript配置在x-javascript后边,否则可能不生效 gzip_vary off; 增加响应头”Vary: Accept-Encoding” gzip_disable ....; 通过表达式,表明哪些UA头不使用gzip压缩 gzip_http_version; 用于识别http协议的版本,需要注意的是,如果应用服务器前有一个nginx反向代理,需要前后的nginx均开启gzip,同时如果我们使用了proxy_pass进行反向代理,那么nginx和后端的upstream server之间默认是用HTTP/1.0协议通信的,因此后端的nginx上需要设置gzip_http_version为支持识别1.0