Nginx gzip的配置和校验
程序员文章站
2023-12-27 14:04:27
...
开启nginx gzip压缩后,网页、css、js等静态资源的大小会大大的减少,从而可以节约大量的带宽,提高传输效率,给用户快的体验。虽然会消耗cpu资源,但是为了给用户更好的体验是值得的。
未加入gzip时的响应头信息
比如访问首页,在浏览器中查看响应头信息:
加入gzip配置
在nginx.conf文件的http模块中加入gzip的配置
[aaa@qq.com html]# cat ../conf/nginx.conf
user root;
worker_processes 4;
worker_rlimit_nofile 65535;
events {
worker_connections 65535;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
gzip on; #开启gzip
gzip_min_length 1k; #低于1kb的资源不压缩
gzip_comp_level 3; #压缩级别【1-9】,越大压缩率越高,同时消耗cpu资源也越多,建议设置在4左右。
gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css; #需要压缩哪些响应类型的资源,多个空格隔开。不建议压缩图片,下面会讲为什么。
gzip_disable "MSIE [1-6]\."; #配置禁用gzip条件,支持正则。此处表示ie6及以下不启用gzip(因为ie低版本不支持)
gzip_vary on; #是否添加“Vary: Accept-Encoding”响应头
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
为了验证压缩效果,配合压缩资源的类型,我们在html目录中新建一个hbk.xml文件,为了看到效果,随便在网上找了一个spring.xml的配置文件,注意一定要大小大于1kb(配置中最小压缩配置的是1kb)。
在这里我的hbk.xml文件大小为3kb
[aaa@qq.com html]# ll -h
总用量 12K
-rw-r--r--. 1 root root 537 4月 12 18:04 50x.html
-rw-r--r--. 1 root root 3.0K 4月 13 16:40 hbk.xml
-rw-r--r--. 1 root root 612 4月 12 18:04 index.html
在浏览器*问hbk.xml文件,查看响应头信息如下:
可以看到相应头带上了Content-Encoding:gzip标识,说明gzip压缩起效果了。
gzip虽然好用,但是一下类型的资源不建议启用。
1、图片类型
原因:图片如jpg、png本身就会有压缩,所以就算开启gzip后,压缩前和压缩后大小没有多大区别,所以开启了反而会白白的浪费资源。(Tips:可以试试将一张jpg图片压缩为zip,观察大小并没有多大的变化。虽然zip和gzip算法不一样,但是可以看出压缩图片的价值并不大)
2、大文件
原因:会消耗大量的cpu资源,且不一定有明显的效果。
推广链接
新款厨房卧室橱柜贴纸,大量有货,支持分销代销,分享此内容到朋友圈,凭截图找卖家免费领取保温杯一个(包邮),活动真实有效,每天只有前60个名额,发货领取奖品请扫码联系店主。
推荐阅读
-
Nginx gzip的配置和校验
-
针对WDCP切换nginx之后memcache和eAccelerator的配置修复方案
-
网站安全配置Nginx防止网站被攻击(包括使用了CDN加速之后的配置方法)
-
Linux服务器下nginx的安全配置
-
自动化Nginx服务器的反向代理的配置方法
-
Nginx服务器中配置404错误页面时一些值得注意的地方
-
Nginx服务器下配置个性二级域名及多个域名的实例讲解
-
nginx安装及依赖关系的配置记录 dpkg 依赖关系 oracle任务依赖关系 uml依赖关系的实
-
ubuntu下的nginx+php+mysql安装配置
-
nginx 和php上传附件大小的配置文件修改方法实例