第十五章 Nginx

时间:2024-04-03 14:21:00
1.7.3.3 优化压缩
Gzip on|off 是否开启 gzip 压缩
Gzip_buffers 4 16k #设置 gzip 申请内存的大小,作用是按指定大小的倍数申请内存空间。4 16k 代表按照原始数据大小以 16k 为单位的 4 倍申请内存。
Gzip_comp_level[1-9] 压缩级别, 级别越高,压缩越小,但是会占用 CPU 资源。
Gzip_disable #正则匹配 UA 表示什么样的浏览器不进行 gzip。
Gzip_min_length #开始压缩的最小长度(小于多少就不做压缩),可以指定单位,比如 1k。
Gzip_http_version 1.0|1.1 表示开始压缩的 http 协议版本。
Gzip_proxied (nginx 做前端代理时启用该选项,表示无论后端服务器的 headers 头返回什么信息,都无条件启用压缩)。
Gzip_type text/pliain,application/xml 对 那 些 类 型 的 文 件 做 压 缩 (conf/mime.conf)。
Gzip_vary on|off 是 否 传 输 gzip 压 缩 标 识 ; 启 用 应 答 头 "Vary:
Accept-Encoding";给代理服务器用的,有的浏览器支持压缩,有的不支持,所以避免浪费不支持的也压缩,所以根据客户端的 HTTP 头来判断,是否需要压缩。
  
    gzip                on;
    gzip_min_length     5k;
    gzip_buffers        4 16k;
    gzip_comp_level     3;
    gzip_types          application/javascript  image/jpeg;
    gzip_vary           on;
  
> 最后注意:
>
> 1. 图片、mp3 这样的二进制文件,没必要做压缩处理,因为这类文件压缩比很小,压缩过程会耗费 CPU 资源。
> 2. 太小的文件没必要压缩,因为压缩以后会增加一些头信息,反而导致文件变大。
> 3. Nginx 默认只对 text/html 进行压缩 ,如果要对 html 之外的内容进行压缩传输,我们需要手动来配置。