溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

nginx中g(shù)zip壓縮提升網(wǎng)站速度的實現(xiàn)方法

發(fā)布時間:2020-08-29 11:06:58 來源:腳本之家 閱讀:180 作者:巴八靈 欄目:服務(wù)器

為啥使用gzip壓縮

開啟nginx的gzip壓縮,網(wǎng)頁中的js,css等靜態(tài)資源的大小會大大的減少從而節(jié)約大量的帶寬,提高傳輸效率,給用戶快的體驗。

nginx實現(xiàn)gzip

nginx實現(xiàn)資源壓縮的原理是通過默認(rèn)集成的ngx_http_gzip_module模塊攔截請求,并對需要做gzip的類型做gzip,使用非常簡單直接開啟,設(shè)置選項即可。。

gzip生效后的請求頭和響應(yīng)頭

Request Headers:
Accept-Encoding:gzip,deflate,sdch

Response Headers:
Content-Encoding:gzip
Cache-Control:max-age240

gzip的處理過程

從http協(xié)議的角度看,請求頭聲明acceopt-encoding:gzip deflate sdch(是指壓縮算法,其中sdch是google自己家推的一種壓縮方式)
服務(wù)器-〉回應(yīng)-〉把內(nèi)容用gzip壓縮-〉發(fā)送給瀏覽器-》瀏覽器解碼gzip->接收gzip壓縮內(nèi)容

gzip的常用配置參數(shù)

  • gzip on|off  是否開啟gzip
  • gzip_buffers  4k  緩沖(壓縮在內(nèi)存中緩沖幾塊?每塊多大?)
  • gzip_comp_level [1-9]   推薦6  壓縮級別,級別越高壓縮的最小,同時越浪費cpu資源
  • gzip_disable   正則匹配UA是什么樣的URi不進(jìn)行g(shù)zip
  • gzip_min_length  200開始壓縮的最小長度,小于這個長度nginx不對其進(jìn)行壓縮
  • gzip_http_version  1.0|1.1開始壓縮的http協(xié)議版本(默認(rèn)1.1)
  • gzip_proxied  設(shè)置請求者代理服務(wù)器,該如何緩存內(nèi)容
  • gzip_types  text/plain  application/xml  對哪些類型的文件用壓縮如txt,xml,html,css
  • gzip_vary  off 是否傳輸gzip壓縮標(biāo)志

nginx配置gzip

靜態(tài)頁面index.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>演示nginx做gzip壓縮</title>
  <script src="./jquery.js" ></script>
</head>
<body>
<img src="./nginx_img.jpeg"  />
<h2>nginx實現(xiàn)gzip壓縮,減少帶寬的占用,同時提升網(wǎng)站速度</h2>
<h2>nginx實現(xiàn)gzip壓縮,減少帶寬的占用,同時提升網(wǎng)站速度</h2>
<h2>nginx實現(xiàn)gzip壓縮,減少帶寬的占用,同時提升網(wǎng)站速度</h2>
<h2>nginx實現(xiàn)gzip壓縮,減少帶寬的占用,同時提升網(wǎng)站速度</h2>
<h2>nginx實現(xiàn)gzip壓縮,減少帶寬的占用,同時提升網(wǎng)站速度</h2>
<h2>nginx實現(xiàn)gzip壓縮,減少帶寬的占用,同時提升網(wǎng)站速度</h2>
</body>
</html>

nginx的配置

server{
    listen 80;
    server_name localhost 192.168.0.96;
    gzip on;
    gzip_buffers 32 4k;
    gzip_comp_level 6;
    gzip_min_length 200;
    gzip_types application/javascript application/x-javascript text/javascript text/xml text/css;
    gzip_vary off;
    root /Users/lidong/Desktop/wwwroot/test;
    index index.php index.html index.htm;
    access_log /Users/lidong/wwwlogs/access.log;
    error_log /Users/lidong/wwwlogs/error.log;
    location ~ [^/]\.php(/|$) {
        fastcgi_pass  127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include    fastcgi_params;
    }
}

為使用gzip前的頁面請求:

nginx中g(shù)zip壓縮提升網(wǎng)站速度的實現(xiàn)方法

開啟了gzip頁面的請求:

nginx中g(shù)zip壓縮提升網(wǎng)站速度的實現(xiàn)方法

nginx中g(shù)zip壓縮提升網(wǎng)站速度的實現(xiàn)方法

注意

  • 圖片,mp3一般不需要壓縮,因為壓縮率比較小
  • 一般壓縮text,css,js,xml格式的文件
  • 比較小的文件不需要壓縮,有可能還會比源文件更大
  • 二進(jìn)制文件不需要壓縮

總結(jié)

以上所述是小編給大家介紹的nginx中g(shù)zip壓縮提升網(wǎng)站速度的實現(xiàn)方法,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復(fù)大家的!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI