Nginx服务器怎么开启文件压缩

nginx 通过 ngx_http_gzip_module、ngx_http_gzip_static_module 等模块进行解析和处理,实现对响应数据和文件缓存的压缩。

# ngx_http_gzip_module模块处理的指令
1.gzip on | off            # 开启或关闭压缩功能,其它指令在此基础上生效
2.gzip_buffers number size # 压缩文件使用缓存空间的大小,大小为number*size
3.gzip_comp_level number   # 设置gzip压缩程度,1-9级,越大,压缩程度越高,时间越久,一般折中选择
4.gzip_disable regex       # 针对特定客户端浏览器标识(UA)开启或者关闭gzip功能
5.gzip_http_version        # 浏览器最低版本,一般保持默认即可
6.gzip_min_length length   # 最小相应页面大小设置,一般建议1k以上
7.gzip_proxied off|expired|no-cache|no-store... # 作为反向代理时生效,用于设置是否对后端返回的结果进行gzip压缩
8.gzip_types mine-type     # 根据响应页的mime类型进行压缩,默认对text/html压缩,可以指定多个。
9.gzip_vary on|off         # 用于设置是否发送带有 Vary:accept-encoding头部的响应头,告诉接收方是否经过了压缩

# ngx_http_gzip_static_module模块处理的指令,采用静态压缩功能,默认不启用,需要在编译时手动开启
1.gzip_static on|off|always # 开启或关闭该模块的相关功能

# ngx_http_gunzip_module模块,针对不支持gzip压缩处理的浏览器客户端支持。默认不启用,需要在编译时手动开启
1.gunzip_static on|off        # 开启或关闭功能
2.gunzip_buffers number size

# nginx服务器gzip综合配置实例,下述配置一般添加在http块,可以自行根据需要对不同虚拟主机设置开启或关闭某些功能
    gzip  on;                 # 开启gzip功能
    gzip_min_length  1k;      # 响应页数据上限
    gzip_buffers     4 16k;   # 缓存空间大小
    gzip_comp_level 6;        # 设置压缩级别为6
    gzip_types       text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php application/javascript application/json; # 压缩文件类型
    gzip_disable "MSIE [1-6]\."; # IE 1-6关闭gzip压缩
    gzip_vary on;             # 启用压缩标识
    gunzip_static on;         # 检查预压缩文件

要想配置生效,记得重启 nginx 服务:

nginx -t
nginx -s reload

Nginx的Gzip压缩功能虽然好用,但是下面 2 类文件资源不太建议启用此压缩功能。

1、图片类型资源 (还有视频文件)

原因:图片如jpg、png文件本身就会有压缩,所以就算开启gzip后,压缩前和压缩后大小没有多大区别,所以开启了反而会白白的浪费资源。(可以试试将一张jpg图片压缩为zip,观察大小并没有多大的变化。虽然zip和gzip算法不一样,但是可以看出压缩图片的价值并不大)

2、大文件资源

原因:会消耗大量的cpu资源,且不一定有明显的效果。

相关文章:Apache服务器怎么开启文件压缩


已发布

分类

来自

标签: