nginx的开启压缩优化详解
1).nginx开启压缩的作用:
对于纯文本的内容,nginx是可以使用gzip压缩的。使用压缩技术可以减少对带宽的消耗。由ngx_http_gzip_module模块支持。
2).nginx开启配置案例:
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
http {
.....
#开启gzip功能:
gzip on;
#设置请求资源超过该数值才进行压缩,单位字节:
gzip_min_length 1024;
#设置压缩使用的buffer大小,第一个数字为数量,第二个为每个buffer的大小:
gzip_buffers 16 8k;
#设置压缩级别,范围1-9,9压缩级别最高,也最耗费CPU资源:
gzip_comp_level 6;
#指定哪些类型的文件需要压缩:
gzip_types text/plain application/x-javascript text/css application/xml image/jpeg image/gif image/png;
#IE6浏览器不启用压缩:
gzip_disable "MSIE 6\.";
....
include vhost/*.conf;
....
}
[root@localhost ~]# cat /usr/local/nginx/conf/vhost/www.1.conf
server{
listen 80;
server_name www.1.com;
root /data/wwwroot/www.1.com;
index index.html;
}
[root@localhost ~]# /usr/local/nginx/sbin/nginx -s reload
[root@localhost ~]# cat /etc/sudo.conf > /data/wwwroot/www.1.com/1.css #制造一个大的css文件
[root@localhost ~]# ll /data/wwwroot/www.1.com/1.css
-rw-r--r-- 1 root root 1786 Dec 27 17:44 /data/wwwroot/www.1.com/1.css
测试压缩:——需加参数才能显示gzip压缩
[root@localhost ~]# cat /etc/hosts
127.0.0.1 www.1.com
[root@localhost ~]# curl -I http://www.1.com/1.css #测试需加参数,正常不加参数访问时候,可以看到不带gzip的压缩
HTTP/1.1 200 OK
Server: nginx/1.15.9
Date: Sun, 27 Dec 2020 09:46:17 GMT
Content-Type: text/css
Content-Length: 1786
Last-Modified: Sun, 27 Dec 2020 09:44:08 GMT
Connection: keep-alive
ETag: "5fe85768-6fa"
Accept-Ranges: bytes
[root@localhost ~]# curl -I -H "Accept-Encoding: gzip, deflate" http://www.1.com/1.css #加参数测试访问时候,会看到有gzip,表示已经压缩,若文件小于1k,则没有
HTTP/1.1 200 OK
Server: nginx/1.15.9
Date: Sun, 27 Dec 2020 09:47:26 GMT
Content-Type: text/css
Last-Modified: Sun, 27 Dec 2020 09:44:08 GMT
Connection: keep-alive
ETag: W/"5fe85768-6fa"
Content-Encoding: gzip
[root@localhost ~]# echo 222 > /data/wwwroot/www.1.com/2.css
[root@localhost ~]# ll /data/wwwroot/www.1.com/2.css
-rw-r--r-- 1 root root 4 Dec 27 17:48 /data/wwwroot/www.1.com/2.css
[root@localhost ~]# curl -I -H "Accept-Encoding: gzip, deflate" http://www.1.com/2.css #因为文件小,所以没有gzip压缩
HTTP/1.1 200 OK
Server: nginx/1.15.9
Date: Sun, 27 Dec 2020 09:48:48 GMT
Content-Type: text/css
Content-Length: 4
Last-Modified: Sun, 27 Dec 2020 09:48:22 GMT
Connection: keep-alive
ETag: "5fe85866-4"
Accept-Ranges: bytes
nginx优化参考链接: https://github.com/aminglinux/nginx/blob/master/optimize/nginx_opt.md