Ⅰ 關於用nginx啟動gzip的配置
關於用nginx啟動gzip的配置,主要包括以下要點:
開啟gzip:
最小壓縮文件大小:
壓縮級別:
壓縮類型:
HTTP頭部設置:
禁用特定瀏覽器的gzip:
緩沖區大小:
支持的HTTP版本:
反向代理壓縮規則:
緩存優化:
注意事項: 如果在應用伺服器前有另一層Nginx集群作為負載均衡,且該層Nginx未開啟gzip,或與後端伺服器的通信默認基於HTTP/1.0協議,則可能導致緩存的URL未被gzip壓縮。 如果前端Nginx未開啟gzip,而後端Nginx上沒有設置gzip_http_version為1.1,緩存的URL同樣不會被gzip壓縮。 使用gzip_proxied和gzip_types指令時,要確保正確配置以避免不必要的性能消耗和資源壓縮。
Ⅱ 怎樣使用 nginx 壓縮html
gzip 是在 Linux 系統中經常使用的一個對文件進行壓縮和解壓縮的命令,既方便又好用。
在Nginx安裝完成之後,我們可以開啟Gzip壓縮功能,這里Nginx默認只能對text/html類型的文件進行壓縮。
下面的指令為開啟Gzip的指令:
#啟用gzip壓縮功能
gzipon;
#默認值是1.1,就是說對HTTP/1.1協議的請求才會進行gzip壓縮
gzip_http_version1.1;
gzip_varyon;
#壓縮級別,1壓縮比最小處理速度最快,9壓縮比最大但處理最慢,同時也最消耗CPU,一般設置為3就可以了
gzip_comp_level6;
#nginx做前端代理時啟用該選項,表示無論後端伺服器的headers頭返回什麼信息,都無條件啟用壓縮
gzip_proxiedany;
#什麼類型的頁面或文檔啟用壓縮
gzip_typestext/plaintext/cssapplication/jsonapplication/x-javascripttext/xmlapplication/xmlapplication/xml+rsstext/javascriptimage/jpegimage/gifimage/png;
#最小壓縮的頁面,如果頁面過於小,可能會越壓越大,這里規定大於1K的頁面才啟用壓縮
gzip_min_length1024;
#設置系統獲取幾個單位的緩存用於存儲gzip的壓縮結果數據流
gzip_buffers168k;
#禁用IE6的gzip壓縮
gzip_disable"MSIE[1-6].(?!.*SV1)";
相關配置說明:
1、在gzip_http_version的默認值是1.1,就是說對HTTP/1.1協議的請求才會進行gzip壓縮。
如果使用了proxy_pass進行反向代理,那麼nginx和後端的upstream server之間是用HTTP/1.0協議通信的,如果使用nginx通過反向代理做Cache Server,前端的nginx沒有開啟gzip,且後端的nginx上未設置gzip_http_version為1.0,那麼Cache的url將不會被gzip壓縮。
2、gzip_disable的設置是禁用IE6的gzip壓縮
IE6的某些版本對gzip的壓縮支持不是很好,會造成頁面的假死。對img進行gzip後會造成IE6的假死,把對img的gzip壓縮去掉後就正常了。為了確保其它的IE6版本不出問題,所以加上了gzip_disable配置項。
3、gzip_min_length設置允許壓縮的頁面最小位元組數,頁面位元組數從header頭中的Content-Length中進行獲取。
默認值是0,不管頁面多大都壓縮。建議設置成大於1k的位元組數,小於1k可能會越壓越大。 即: gzip_min_length 1024。
Ⅲ Nginx啟用壓縮及開啟gzip 壓縮的方法
gzip(GNU-ZIP)是一種壓縮技術。經過gzip壓縮後頁面大小可以變為原來的30%甚至更小,這樣,用戶瀏覽頁面的時候速度會塊得多。
gzip 的壓縮頁面需要瀏覽器和伺服器雙方都支持,實際上就是伺服器端壓縮,傳到瀏覽器後瀏覽器解壓並解析。瀏覽器那裡不需要我們擔心,因為目前的巨大多數瀏覽器 都支持解析gzip過的頁面。
Nginx的壓縮輸出有一組gzip壓縮指令來實現。相關指令位於http{….}兩個大括弧之間。
具體配置如下
Ⅳ Nginx伺服器中的Gzip配置參數詳解
gzip on; 開啟gzip off關閉
gzip_min_length 1k; 設置允許壓縮的頁面最小位元組(從header頭的Content-Length中獲取) 建議大於1k
gzip_buffers 4 16k; 以16k為單位,按照原始數據大小以16k為單位的4倍申請內存
gzip_http_version 1.1; 識別http協議的版本,早起瀏覽器可能不支持gzip自解壓,用戶會看到亂碼
gzip_comp_level 2; 等級1-9 最小的壓縮最快 但是消耗cpu
gzip_types text/plain application/x-javascript text/css application/xml; 匹配壓縮類型
gzip_vary on; 啟用應答頭"Vary: Accept-Encoding"
gzip_proxied off;
nginx做為反向代理時啟用,off(關閉所有代理結果的數據的壓縮),expired(啟用壓縮,如果header頭中包括"Expires"頭信息),no-cache(啟用壓縮,header頭中包含"Cache-Control:no-cache"),no-store(啟用壓縮,header頭中包含"Cache-Control:no-store"),private(啟用壓縮,header頭中包含"Cache-Control:private"),no_last_modefied(啟用壓縮,header頭中不包含"Last-Modified"),no_etag(啟用壓縮,如果header頭中不包含"Etag"頭信息),auth(啟用壓縮,如果header頭中包含"Authorization"頭信息)
gzip_disable msie6;
(IE5.5和IE6 SP1使用msie6參數來禁止gzip壓縮 )指定哪些不需要gzip壓縮的瀏覽器(將和User-Agents進行匹配),依賴於PCRE庫
gzip 決定是否開啟gzip模塊
gzip_buffers 設置gzip申請內存的大小,其作用是按塊大小的倍數申請內存空間,param2:int(k) 後面單位是k
gzip_comp_level 設置gzip壓縮等級,等級越底壓縮速度越快文件壓縮比越小,反之速度越慢文件壓縮比越大
gzip_min_length 當返回內容大於此值時才會使用gzip進行壓縮,以K為單位,當值為0時,所有頁面都進行壓縮
gzip_types 設置需要壓縮的MIME類型,非設置值不進行壓縮
param:text/html|application/x-javascript|text/css|application/xml
對於多數以文本為主的站點來說,文本自身內容占流量的絕大部分。雖然單個文本體積並不算大,但是如果數量眾多的話,流量還是相當可觀。啟用GZIP以後,可以大幅度減少所需的流量。
Ⅳ 如何在Nginx伺服器中啟用Gzip壓縮
在nginx.conf文件中加入如下配置:
gzip on;
gzip_proxied any;
gzip_types text/plain text/xml text/css application/x-javascript;
gzip_vary on;
之後重啟nginx服務就可以了。