【07】Nginx的压缩功能

本文探讨了Nginx的化劲——HTTP gzip压缩功能,通过启用该功能,可以有效地减小网络传输的数据量,提升网站加载速度。官方文档提供了详细配置指导。

Nginx压缩功能

招式:化劲(Nginx的压缩功能)

看到这里,有朋友又要问了,老师,我的怎么接知道了,但是接完了怎么用化劲,来化解对方的力气

要怎么把大力量化解成小力量呢?

我们来接着往下看

在Nginx中,Nginx对文件的压缩功能是依赖于模块ngx_http_gzip_module

官方文档:https://nginx.org/en/docs/http/ngx_http_gzip_module.html

# 该设置在http层
#
# 启用或禁用gzip压缩,默认关闭
gzip on | off;
#
# 压缩比,1~9 9为最高压缩比,默认为1
gzip_comp_level LEVEL;
#
# 禁用IE6 gzip功能
gzip_disable "MSIE [1-6]\.";
#
# 超过多大的文件压缩,小于设定值的不压缩
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;

测试

# 我们将访问日志做一个页面
[
### Nginx 中处理 `.gz` 文件的配置方法 #### 启用静态 `.gz` 文件支持 为了提高性能并减少 CPU 负载,可以配置 Nginx 来直接提供预压缩的 `.gz` 文件而不是实时压缩响应。这可以通过启用 `gzip_static` 模块来实现。 对于已由 Webpack 插件生成的 `.gz` 文件,在 Nginx 配置中加入如下设置: ```nginx server { listen 80; server_name localhost; location / { root html; index index.html index.htm; # 尝试优先返回 .gz 文件给客户端 gzip_static on; # 设置 MIME 类型识别 types { text/html html htm shtml; application/javascript js; text/css css; } default_type application/octet-stream; add_header Content-Encoding "gzip"; } } ``` 上述配置使得如果存在同名的 `.gz` 文件,则会自动发送该文件给浏览器[^2]。 #### 关闭动态 GZIP 压缩功能 为了避免重复劳动和不必要的资源消耗,应该关闭默认情况下会对每个请求都尝试进行在线压缩功能: ```nginx http { ... gzip off; include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; ... } ``` 此部分禁用了 HTTP 层面上的一般性 GZIP 功能,从而防止了双重压缩的发生。 #### 测试与验证 完成以上更改之后,记得测试新的配置是否有误: ```bash nginx -t ``` 一旦确认无误,就可以重载 Nginx 让新设定生效: ```bash nginx -s reload ``` 通过这种方式,不仅能够利用预先构建好的 `.gz` 文件加快页面加载速度,还能有效降低服务器端的压力。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值