运维日志您现在的位置是:首页 > 博客日志 > 运维日志

nginx如何对静态资源进行gzip压缩?

<a href='mailto:'>微wx笑</a>的头像微wx笑 2021-07-03运维日志 3 0关键字: nginx  静态资源  gzip  压缩  

使用Nginx架设网站,如果网页访问比较慢,就需要进行优化,其中一项就是对静态资源内容启用gzip压缩,这样在传输过程中就会节省很多的带宽!当然压缩会给服务器带来一定的压力,但配合着缓存使用,还是能够达到很好的效果的。

使用Nginx架设网站,如果网页访问比较慢,就需要进行优化,其中一项就是对静态资源内容启用gzip压缩,这样在传输过程中就会节省很多的带宽!当然压缩会给服务器带来一定的压力,但配合着缓存使用,还是能够达到很好的效果的。Ij3无知


Ij3无知

效果

就拿我的网站首页来说,原始文件大小47210 字节,压缩后文件大小12952 字节,压缩率(估计值)72.57%,也就是可以节省 72.57% 的带宽;虽然消耗一点服务器性能,但是从购买CPU、内存与带宽的价格比起来,还是很划算的。Ij3无知

image.pngIj3无知


Ij3无知

image.pngIj3无知

配置方法

可以在 Nginx 的配置文件中的 “http, server, location”节点中添加以下代码来启用压缩,比如我放在 server 节点下:
Ij3无知

server
{
    listen 80;
    listen 443 ssl http2;
    server_name www.ivu4e.com ivu4e.com;
    index index.html index.htm index.php default.php default.htm default.html;
    
    #压缩配置#
    gzip  on;           #打开gzip压缩功能
    gzip_min_length 0; #压缩阈值
    gzip_buffers 32 4k; #buffer 不用修改
    gzip_comp_level 3;  #压缩级别:1-10,数字越大压缩的越好,时间也越长
    gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;  #压缩文件类型
    gzip_vary off;      #跟Squid等缓存服务有关,on的话会在Header里增加 "Vary: Accept-Encoding"
    gzip_disable "MSIE [1-6]\.";  #IE1-6版本不支持gzip压缩
    gzip_http_version 1.1; #在http/1.0的协议下不开启gzip压缩
    
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico|avif|webp)$
    {
        expires      30d;
        error_log off;
        access_log off;
    }
    
    location ~ .*\.(js|css)?$
    {
        expires      12h;
        error_log off;
        access_log off; 
    }

}

注意与缓存配合使用,针对不同的资源,可以设置不同的缓存策略,通过指定“expires”来实现。
Ij3无知

检测方法

1、站长工具 > 网页GZIP压缩检测Ij3无知

2、通过浏览器的开发者工具查看,见上面第二张图Ij3无知

参考

关于 gzip 参数的详细说明,请参考:Nginx gzip参数详解及常见问题Ij3无知


Ij3无知


Ij3无知

本文由 微wx笑 创作,采用 署名-非商业性使用-相同方式共享 4.0 许可协议,转载请附上原文出处链接及本声明。
原文链接:https://www.ivu4e.cn/blog/service/2021-07-03/688.html

很赞哦! () 有话说 ()