当你服务器安装了nginx(推荐1.20版本以上)默认开启了gzip动态压缩,但没有开启静态压缩
一句话总结就是如何开启静态压缩
!!!
为什么要开启静态压缩?
先看一下gzip配置图:
默认是没有 gzip_static on;
gzip_static on;
就是开启静态压缩的意思,
压缩模式
一般来说,
Nginx
的gzip
分为两种模式:
- 动态压缩
- 静态压缩
动态压缩
动态压缩是指 Nginx
服务器在发送前端产物时,消耗自身的资源进行实时压缩,这样即便产物中不存在 .gz
结尾的文件,浏览器端也能拿到 gzip
格式的前端产物。
静态压缩
静态压缩会直接将产物中预先压缩过的 .gz
文件发送给浏览器,而不再实时压缩文件,如果找不到 .gz
文件,将会使用对应的原始文件。
一句话总结就是:动态压缩消耗服务器资源,而静态压缩提前将压缩文件发送给浏览器
教程开始
一:有个前提条件,要保证 Nginx
存在 ngx_http_gzip_static_module
模块,这个模块默认是开启的。
可以使用下面指令查看是否已经激活该模块:
nginx -V 2>&1| grep -o http_gzip_static_module
输出结果:
http_gzip_static_module
说明已经开启。
二:然后打开你的网站目录,找到需要压缩的js和css文件,开启静态压缩,需要提前将文件压缩好,这里我提供一键压缩命令:
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/gzip.sh && chmod +x gzip.sh && ./gzip.sh
输入你要压缩的目录,然后在nginx配置文件里的 gzip on;
下面一行添加
gzip_static on;
重载和重启nginx生效,
检查是否生效
Etag是没有w/
符号的就是静态压缩