网站首页 > 精选教程 正文
一、介绍
Nginx对静态资源的压缩就是在服务端进行压缩传输到浏览器端进行解压,这个压缩和解压的过程中减少中间网络传输的消耗。就是减少服务端带宽资源的消耗还有减少传输的文件大小从而实现传输的实时性。
对于压缩我们可以启用Nginx的gizp压缩设置。
二、gizp配置
#开启gzip gzip on; # gzip 压缩级别 gzip_comp_level 2; # 启用gzip压缩的最小文件 gzip_min_length 1k; # 进行压缩的文件类型。 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;
更多设置参考:Nginx文档gzip相关参数设置
三、演示
首先我在服务器准备好了演示使用的图片demo.jpg
接下来我们前往/etc/nginx/conf.d/新建test.conf进行设置
server { listen 80; server_name localhost; sendfile on; #charset koi8-r; access_log /var/log/nginx/host.access.log main; location ~ .*\.(jpg|gif|png)$ { gzip off; gzip_http_version 1.1; gzip_comp_level 2; 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; root /opt/app/demo/images; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 404 /50x.html; location = /50x.html { root /usr/share/nginx/html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ \.php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # #location ~ \.php$ { # root html; # fastcgi_pass 127.0.0.1:9000; # fastcgi_index index.php; # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; # include fastcgi_params; #} # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /\.ht { # deny all; #} }
此时设置gzip off 我们访问该图片:
该图片资源大小为749KB
接下来我们开启gzip
location ~ .*\.(jpg|gif|png)$ { gzip on; gzip_http_version 1.1; gzip_comp_level 2; 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; root /opt/app/demo/images; }
reload nginx:
nginx -s reload -c /etc/nginx/nginx.conf
再次访问该图片:
现在该图片传输资源大小被压缩为747KB
可以看到确实有压缩了但是似乎压缩的比并不理想
事实上gzip对文本的压缩更为显著,对图片的压缩比率并不是很理想
我们同样对文本文件压缩设置来测试一下压缩的比例:
我们在text.conf中增加这一段location ~ .*\.(txt|xml)$ { gzip off; gzip_http_version 1.1; gzip_comp_level 2; 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; root /opt/app/demo/doc; }
然后在/opt/app/demo/doc 中准备好文本文件
reload Nginx后在gzip off时访问该文本文件:
此时传输资源大小为1.3MB
我们将gzip打开后reload Nginx再次访问该文本:
可见此时传输资源大小为12.4KB
说明gzip对文本的压缩是非常理想的
对比两次结果从Time第一次为9.09s到第二次50ms可以看出Nginx开启gzip压缩大大提高了网页响应的速度。
作者:唐龙隆
链接:https://www.jianshu.com/p/67075626774c
猜你喜欢
- 2024-10-05 Nginx 和 tomcat开启Gzip功能的方法
- 2024-10-05 前端性能优化:启用 gzip 前端在项目中怎么做到性能优化
- 2024-10-05 「网站优化实战」Nginx启用Gzip/全站CDN加速
- 2024-10-05 WordPress开启NGINX-Fastcgi_cache缓存
你 发表评论:
欢迎- 最近发表
-
- 我的世界光影MOD下载(我的世界光影mod下载安装)
- 我的世界1.7/1.8VoxelMap小地图MOD下载
- 我的世界1.7.10多世界 整合包(我的世界1.7.10forge整合包)
- 我的世界1.8最好用的修改器下载(我的世界1.8最好用的修改器下载安装)
- 我的世界更多弯曲动作MOD下载(我的世界更多弯曲动作mod下载手机版)
- 我的世界龙珠MOD下载(我的世界龙珠模组整合包下载)
- 我的世界1.7.10以太2 下载(我的世界以太2mod1.12.2)
- 我的世界虚拟人生MOD下载分享(我的世界虚拟人生下载安装)
- 我的世界无正版账号的简单联机方法(非网易版,仅适用于局域网)
- “我的语言极限,即是我的世界的极限。” ——《On Java》书籍推荐
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)