nginx gzip 压缩

gzip 是 GNUzip 的缩写,它的主要作用就是用来减轻服务器的带宽问题。默认情况下,nginx 的 gzip 开关是关闭的,nginx 默认只对 text/html 进行压缩,如果要对 html 之外的内容(如图片)进行压缩,需要手动来调 gzip_types 的值。

gzip 配置

gzip 可以出现在 http、server、location 字段中。

### 基本 gzip 配置
gzip on;                        # 开启 gzip
gzip_min_length 1k;             # 最小阈值
gzip_comp_level 4;              # 压缩级别(1-9),不推荐设置太高
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;  # 要压缩的文件类型
gzip_vary on;                   # 启用 gzip 压缩标识
gzip_disable "MSIE [1-6]\.";    # 禁用 IE6 以下的 gzip 压缩

### 其他 gzip 参数
gzip_buffers 4 4k;      # 定义 buffer 参数,表示以 4k 为单位,申请原数据 4 倍大小的内存
gzip_proxied off|expired|no-cache|no-sotre|private|no_last_modified|no_etag|auth|any;
## nginx 作为反向代理服务器时使用
# any               无条件压缩所有响应数据
# off               关闭所有响应数据的压缩
# expired           如果header中包含"Expires"头信息则启用压缩
# no-cache          如果header中包含"Cache-Control:no-cache"头信息则启用压缩
# no-store          如果header中包含"Cache-Control:no-store"头信息则启用压缩
# private           如果header中包含"Cache-Control:private"头信息则启用压缩
# no_last_modified  如果header中包含"Last_Modified"头信息则启用压缩
# no_etag           如果header中包含"ETag"头信息则启用压缩
# auth              如果header中包含"Authorization"头信息则启用压缩