前言
gzip壓縮作用:將響應報⽂發送⾄客戶端之前可以啓⽤壓縮功能,這能夠有效地節約帶寬,並提⾼響應⾄客戶端的速度,壓縮會消耗nginx的cpu性能;
gzip壓縮可以配置:http
(對所有模塊有效)、server
(對單個server模塊有效)或location
(對單個location有效)模塊下;
gzip配置的常用參數:
gzip on|off; # 是否開啓gzip
gzip_buffers 32 4K| 16 8K # 緩衝(壓縮在內存中緩衝幾塊? 每塊多大?)
gzip_comp_level [1-9] # 推薦6 壓縮級別(級別越高,壓的越小,越浪費CPU計算資源)
gzip_disable # 正則匹配UA 什麼樣的Uri不進行gzip
gzip_min_length 200 # 開始壓縮的最小長度(再小就不要壓縮了,意義不在)
gzip_http_version 1.0|1.1 # 開始壓縮的http協議版本(可以不設置,目前幾乎全是1.1協議)
gzip_proxied # 設置請求者代理服務器,該如何緩存內容
gzip_types text/plain application/xml # 對哪些類型的文件用壓縮 如txt,xml,html ,css
gzip_vary on|off # 是否傳輸gzip壓縮標誌
注意:
圖片/mp3這樣的二進制文件,不必壓縮
因爲壓縮率比較小, 比如100->80字節,而且壓縮也是耗費CPU資源的
比較小的文件不必壓縮
一、先不開啓壓縮
1、配置文件
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
# gzip on;
# gzip_buffers 32 4K;
# gzip_comp_level 6;
# gzip_min_length 100;
# gzip_types text/plain application/json application/x-javascript application/css application/xml application/xml+rss text/javascript application/x-httpd-php image/jpeg image/gif image/png image/x-ms-bmp;
# gzip_vary on;
location / {
root html;
index index.html zwl.html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
2、文件大小:
[root@localhost html]# ll
-rw-r--r--. 1 root root 1454 2月 24 14:37 index.html
3、沒壓縮發佈實際大小:
二、開啓壓縮
1、配置文件
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
gzip on;
gzip_buffers 32 4K;
gzip_comp_level 6;
gzip_min_length 100;
gzip_types text/plain application/json application/x-javascript application/css application/xml application/xml+rss text/javascript application/x-httpd-php image/jpeg image/gif image/png image/x-ms-bmp;
gzip_vary on;
location / {
root html;
index index.html zwl.html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
2、壓縮後發佈實際大小:
-
Content-Encoding:gzip
: 說明開啓了gzip壓縮 -
Transfet-Encoding:chunked
: 說明壓縮後分塊傳輸