當前位置 主頁 > 服務器問題 > nginx問題匯總 > 最大化 縮小

                    Nginx Gzip模塊啟用和配置指令詳解

                    欄目:nginx問題匯總 時間:2019-03-20 16:32

                    這篇文章主要介紹了Nginx Gzip模塊啟用和配置指令詳解的,需要的朋友可以參考下

                    Nginx的gzip模塊是內置的,在http中添加如下配置:

                    復制代碼 代碼如下:gzip on;
                    gzip_min_length  5k;
                    gzip_buffers     4 16k;
                    gzip_http_version 1.0;
                    gzip_comp_level 3;
                    gzip_types       text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
                    gzip_vary on;

                    配置指令詳細注釋:

                    gzip on|off
                    # 默認值: gzip off
                    # 開啟或者關閉gzip模塊

                    gzip_static on|off

                    # nginx對于靜態文件的處理模塊
                    # 該模塊可以讀取預先壓縮的gz文件,這樣可以減少每次請求進行gzip壓縮的CPU資源消耗。該模塊啟用后,nginx首先檢查是否存在請求靜態文件的gz結尾的文件,如果有則直接返回該gz文件內容。為了要兼容不支持gzip的瀏覽器,啟用gzip_static模塊就必須同時保留原始靜態文件和gz文件。這樣的話,在有大量靜態文件的情況下,將會大大增加磁盤空間。我們可以利用nginx的反向代理功能實現只保留gz文件。
                    # 可以google"nginx gzip_static"了解更多

                    gzip_comp_level 4

                    # 默認值:1(建議選擇為4)
                    # gzip壓縮比/壓縮級別,壓縮級別 1-9,級別越高壓縮率越大,當然壓縮時間也就越長(傳輸快但比較消耗cpu)。

                    gzip_buffers 4 16k

                    # 默認值: gzip_buffers 4 4k/8k
                    # 設置系統獲取幾個單位的緩存用于存儲gzip的壓縮結果數據流。 例如 4 4k 代表以4k為單位,按照原始數據大小以4k為單位的4倍申請內存。 4 8k 代表以8k為單位,按照原始數據大小以8k為單位的4倍申請內存。
                    # 如果沒有設置,默認值是申請跟原始數據相同大小的內存空間去存儲gzip壓縮結果。

                    gzip_types mime-type [mime-type ...]

                    # 默認值: gzip_types text/html (默認不對js/css文件進行壓縮)
                    # 壓縮類型,匹配MIME類型進行壓縮
                    # 不能用通配符 text/*
                    # (無論是否指定)text/html默認已經壓縮
                    # 設置哪壓縮種文本文件可參考 conf/mime.types

                    gzip_min_length  1k

                    # 默認值: 0 ,不管頁面多大都壓縮
                    # 設置允許壓縮的頁面最小字節數,頁面字節數從header頭中的Content-Length中進行獲取。
                    # 建議設置成大于1k的字節數,小于1k可能會越壓越大。 即: gzip_min_length 1024

                    gzip_http_version 1.0|1.1

                    # 默認值: gzip_http_version 1.1(就是說對HTTP/1.1協議的請求才會進行gzip壓縮)
                    # 識別http的協議版本。由于早期的一些瀏覽器或者http客戶端,可能不支持gzip自解壓,用戶就會看到亂碼,所以做一些判斷還是有必要的。
                    # 注:99.99%的瀏覽器基本上都支持gzip解壓了,所以可以不用設這個值,保持系統默認即可。
                    # 假設我們使用的是默認值1.1,如果我們使用了proxy_pass進行反向代理,那么nginx和后端的upstream server之間是用HTTP/1.0協議通信的,如果我們使用nginx通過反向代理做Cache Server,而且前端的nginx沒有開啟gzip,同時,我們后端的nginx上沒有設置gzip_http_version為1.0,那么Cache的url將不會進行gzip壓縮

                    gzip_proxied [off|expired|no-cache|no-store|private|no_last_modified|no_etag|auth|any] ...

                    # 默認值:off
                    # Nginx作為反向代理的時候啟用,開啟或者關閉后端服務器返回的結果,匹配的前提是后端服務器必須要返回包含"Via"的 header頭。

                  快乐时时彩论坛