NGINX压缩和解压缩

本文概述

  • 启用压缩
  • 启用减压
  • 发送压缩文件
压缩过程减小了传输数据的大小。但是, 由于压缩是在运行时发生的, 因此压缩还可能包含相当大的处理开销, 这可能会对性能产生负面影响。 Nginx在将响应发送到客户端之前执行压缩, 但不会对已压缩的响应进行双重压缩。
启用压缩要启用压缩, 请在gzip指令中添加on参数:
gzip on;

默认情况下, Nginx仅使用text / html(MIME类型)压缩响应。要压缩其他MIME类型的响应, 请添加gzip_types指令并列出其他类型。
gzip_types text/plain application/xml;

我们可以使用gzip_min_length指令定义要压缩的响应的最小长度。默认值为20字节。
gzip_min_length 1000;

启用减压某些客户端不使用gzip编码方法处理响应。同时, 可能需要动态存储压缩数据或响应并将其存储在缓存中。为了成功服务于接受和不接受压缩数据的两个客户端, NGINX可以在将数据发送到后一种类型的客户端时即时对其进行解压缩。
【NGINX压缩和解压缩】要启用运行时解压缩, 请使用gunzip指令。
location /storage/ {gunzip on; ...}

可以在与gzip指令相同的上下文中定义gunzip指令:
server {gzip on; gzip_min_length 1000; gunzip on; ...}

注意:该指令在单独的模块中定义, 默认情况下可能未包含在开源NGINX构建中。发送压缩文件要将压缩文件发送到客户端而不是常规文件, 请在适当的上下文中将gzip_static伪指令设置为on。
location / {gzip_static on; }

在上面的示例中, NGINX尝试为/ path / to / file请求提供服务, 以查找并发送文件/path/to/file.gz。如果该文件不存在, 或者客户端不支持gzip, 则NGINX发送未压缩的文件。

    推荐阅读