X
返回
Nginx开启Gzip
文章信息:
- 分类:服务器部署
- 阅读量:2801
- 创建时间:2022-11-19
- 更新时间:2年前
Nginx开启Gzip会在文件传输时对html、js、css等文件进行压缩,这种方式能够在文件传输时减少服务器带宽、提高文件传输速度在前端项目中达到性能优化的效果
注意:如果你使用的是Ubuntu apt安装的Nginx,那么你需要通过编译安装Nginx的方式替换apt安装的Nginx。因为apt安装的Nginx无法自定编译安装模块
检查是否安装
# 注意这里的V要大写,小写的V显示的是版本号
nginx -V
运行后会看到以下内容
nginx version: nginx/1.23.2
built by gcc 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)
built with OpenSSL 1.1.1 11 Sep 2018
TLS SNI support enabled
configure arguments:
--with-debug
--with-compat
--with-pcre-jit
--with-http_ssl_module
--with-http_stub_status_module
--with-http_realip_module
--with-http_auth_request_module
--with-http_v2_module
--with-http_dav_module
--with-http_slice_module
--with-threads
--with-http_addition_module
--with-http_gunzip_module
--with-http_gzip_static_module
--with-http_image_filter_module=dynamic
--with-http_sub_module
--with-http_xslt_module=dynamic
--with-stream=dynamic
--with-stream_ssl_module
--with-mail=dynamic
--with-mail_ssl_module
查看里面是否存在http_gzip_static_module
模块
Ubuntu apt安装的Nginx一般都内置了http_gzip_static_module
模块,检查为了确保存在此模块
安装http_gzip_static_module模块(如果已经存在忽略此步骤)
进入Nginx目录:
cd /usr/local/src/nginx-1.**.**
添加模块:
# 这里的 configure arguments 是上面运行的Nginx -V获取到的configure arguments: 后面的内容
./configure [configure arguments] --with-http_gzip_static_module
编译安装:
make install
检查安装:
nginx -V
Nginx.conf 添加配置
修改Nginx.conf 文件:
vi /usr/local/nginx/conf/nginx.conf
在http中添加配置:
http {
# 开启动态压缩
gzip on;
# 打开静态压缩:如果有相同文件名的.gz文件则会发送该文件,不进行压缩,无则进行动态压缩。(需要前端打包压缩相关文件)
gzip_static on;
# 允许压缩的最小大小
gzip_min_length 1000;
# 代理启动压缩
gzip_proxied no-cache no-store private expired auth;
# gzip压缩级别:级别从1-9,级别越高,压缩就越小,节省了带宽资源,但同时也消耗CPU资源
gzip_comp_level 6
# 压缩的文件类型
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png application/vnd.ms-fontobject font/ttf font/opentype font/x-woff image/svg+xml;
# 是否在响应头携带Vary:Accept-Encoding:作用是告知接收方此文件已经被Gzip压缩处理
gzip_vary on;
# 过滤浏览器:在指定的浏览器中不使用Gzip (过滤IE6)
gzip_disable "MSIE [1-6]\.";
}
检查Nginx.conf配置:
nginx -t
重启Nginx服务:
nginx -s reload
验证是否开启Gzip
使用命令查看或者在浏览器用Network查看
运行命令:
curl -H 'Accept-Encoding: gzip' -I http://localhost
HTTP/1.1 200 OK
Server: nginx/1.23.2
Date: Fri, 18 Nov 2022 17:53:48 GMT
Content-Type: text/html
Last-Modified: Wed, 16 Nov 2022 16:30:56 GMT
Connection: keep-alive
Vary: Accept-Encoding
ETag: W/"63751040-124b"
Content-Encoding: gzip
Content-Encoding:gzip 证明内容正确的被gzip压缩
ETag:W/"63751040-124b" 前面的W代表是服务端压缩,没有就是前端打包压缩
评论/留言