運維之道 | Nginx gzip壓縮提升網站速度

前言

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 224 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 : 說明壓縮後分塊傳輸

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章