Nginx 压缩功能
Nginx支持对指定类型的文件进行压缩然后再传输给客户端,而且压缩还可以设置压缩比例,压缩后的 文件大小将比源文件显著变小,这样有助于降低出口带宽的利用率,降低企业的IT支出,不过会占用相 应的CPU资源。
Nginx对文件的压缩功能是依赖于模块 ngx_http_gzip_module,默认是内置模块
#启用或禁用gzip压缩,默认关闭
gzip on | off;
#压缩比由低到高从1到9,默认为1
gzip_comp_level level;
#禁用IE6 gzip功能
gzip_disable "MSIE [1-6]\.";
#gzip压缩的最小文件,小于设置值的文件将不会压缩
gzip_min_length 1k;
#启用压缩功能时,协议的最小版本,默认HTTP/1.1
gzip_http_version 1.0 | 1.1;
#指定Nginx服务需要向服务器申请的缓存空间的个数和大小,平台不同,默认:32 4k或者16 8k;
gzip_buffers number size;
#指明仅对哪些类型的资源执行压缩操作;默认为gzip_types text/html,不用显示指定,否则出错
gzip_types mime-type ...;
#如果启用压缩,是否在响应报文首部插入“Vary: Accept-Encoding”,一般建议打开
gzip_vary on | off;
#预压缩,即直接从磁盘找到对应文件的gz后缀的式的压缩文件返回给用户,无需消耗服务器CPU
#注意: 来自于ngx_http_gzip_static_module模块
gzip_static on | off;
# 自己传一个适当的文件去测试
[root@Ubuntu2204 ~]#ll /apps/nginx/logs/error.log -h
-rw-r--r-- 1 root root 287K Jul 21 08:33 /apps/nginx/logs/error.log
[root@Ubuntu2204 ~]#mv /apps/nginx/logs/error.log /data/nginx/html/pc/test.html
[root@Ubuntu2204 ~]#ll -h /data/nginx/html/pc/test.html
-rw-r--r-- 1 root root 287K Jul 21 08:33 /data/nginx/html/pc/test.html
没有压缩之前文件大小
[root@Ubuntu2204 ~]#vim /apps/nginx/conf/nginx.conf
gzip on;
gzip_comp_level 5;
gzip_min_length 1k;
gzip_types text/plain application/javascript application/x-javascript text/css
application/xml text/javascript application/x-httpd-php image/gif image/png;
gzip_vary on;
[root@Rocky8 ~]#curl --head --compressed http://www.anan.org/test.html
HTTP/1.1 200 OK
Server: nginx
Date: Sun, 21 Jul 2024 00:56:16 GMT
Content-Type: text/html; charset=utf-8
Last-Modified: Sun, 21 Jul 2024 00:33:33 GMT
Connection: keep-alive
Vary: Accept-Encoding
ETag: W/"669c575d-47ac0"
Content-Encoding: gzip #压缩传输
压缩之后文件大小
若出现这种情况压缩比都千倍了
可以按住ctrl+刷新按钮 (ctrl+F5)
这样就是正常的了(压缩比差不多十倍左右)
片转存中…(img-I0UfwCq5-1721524283595)]
可以按住ctrl+刷新按钮 (ctrl+F5)
这样就是正常的了(压缩比差不多十倍左右)