導航:首頁 > 文件處理 > nginxgzip壓縮圖片

nginxgzip壓縮圖片

發布時間:2022-12-18 01:52:11

㈠ 請教Nginx 中對 application/json 格式進行 gzip 壓縮無效的問題

默認情況下,開啟gzip不會對application/json類型的響應做壓縮處理,需要通過以下指令使nginx對application/json格式進行gzip壓縮:

gzip on;

gzip_types application/json application/javascript text/css image/svg+xml;

㈡ 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以後,可以大幅度減少所需的流量。

㈢ gzip壓縮實踐

為提高網頁載入速度,啟用 gzip 縮減資源的大小是非常常見的手段。現代瀏覽器均支持 gzip 壓縮,並會為HTTP請求自動協商此類壓縮。

本文將對 gzip 的實踐和原理做一個簡單的總結。

web伺服器在接收到瀏覽器的請求之後,會檢查瀏覽器可以接受哪些壓縮方法,詳情可見下圖。

瀏覽器在請求頭中會帶上 Accept-Encoding 這個參數來說明自己支持哪些內容編碼方式。

而服務端返回的 Response Headers 中則存在一個 Content-Encoding ,用來說明數據的壓縮方法。

幾乎所有的瀏覽器都已經支持了 gzip ,並且有請求頭的驗證,所以基本不需要擔心兼容相關的問題。

壓縮前後的體積前後差異,可以在控制台中看到。可以說,對於js、css文件的壓縮率還是比較可觀的。

經過這種方式的配置,在服務端響應請求的時候會對文件進行壓縮,之後返回壓縮過後的內容。不過壓縮這一過程多多少少會佔用一些服務端的性能,具體壓縮的程度,也就是 gzip_comp_level 設置的值也會影響到佔用性能的多少,接下來我們來看一些網上搜集到的數據,了解不同值的設置對文件大小和CPU佔用的影響。

可以看到,壓縮級別從0到1時,文件大小明顯減小,CPU消耗略微上漲。而在之後文件減小的速率明顯放緩,在達到了5之後繼續增加壓縮級別,文件的體積也幾乎沒有縮小,但CPU消耗卻有較為明顯的上漲。

根據結論可以看出,如果是在服務端使用 gzip 壓縮的話,考慮到性能和壓縮率的取捨,將壓縮級別設置為一個較低的值,比如2之類的,是比較合理的。

我們也可以選擇在打包構建項目的時候就對文件進行gzip壓縮

這邊以打包一個 webpack 的前端項目為例

運行構建命令後可以看到,在生成 .js 和 .css 的同時還生成了對應的 .gz 文件。

在這種方式的壓縮中,我們完全可以把壓縮等級設置為一個比較高的值(默認),畢竟只是略微影響打包的時間,卻能獲取一個更小的體積的包,還是比較值得的。

以 nginx 為例,靜態壓縮需要使用 http_gzip_static_mole 這個模塊,這個模塊不是默認的,應使用 --with-http_gzip_static_mole 的配置參數啟用它

之後再配置中添加

這樣便可開啟靜態壓縮。

需要注意以下幾點:

㈣ Nginx啟用壓縮及開啟gzip 壓縮的方法

gzip(GNU-ZIP)是一種壓縮技術。經過gzip壓縮後頁面大小可以變為原來的30%甚至更小,這樣,用戶瀏覽頁面的時候速度會塊得多。

gzip 的壓縮頁面需要瀏覽器和伺服器雙方都支持,實際上就是伺服器端壓縮,傳到瀏覽器後瀏覽器解壓並解析。瀏覽器那裡不需要我們擔心,因為目前的巨大多數瀏覽器 都支持解析gzip過的頁面。

Nginx的壓縮輸出有一組gzip壓縮指令來實現。相關指令位於http{….}兩個大括弧之間。

具體配置如下

㈤ 伺服器開啟Gzip壓縮功能

在負載均衡中有一個必須要做的事情就是給伺服器開啟Gzip壓縮功能,對用戶請求的頁面進行壓縮處理,以達到節省網路帶寬,提高網站速度的作用。

Gzip是若干文件壓縮程序的簡稱,通常指GNU計劃的實現,此處的Gzip代表的就是GUN ZIP,這也是HTTP1.1協議定義的兩種壓縮方法中最常用的一種壓縮方法,客戶端瀏覽器大都支持這種壓縮格式。

接下來,將介紹Apache、Nginx 如何開啟Gzip壓縮。

Apache開啟Gzip要看查看是否已經開啟mod_deflate模塊,如果沒有則需要先載入,在配置文件httpd.conf中將

前面的#號去掉。另外,如果對Apache的配置文件不太懂的客戶在修改配置文件之前對配置文件進行備份。

開啟模塊後,在httpd.conf配置文件的最下面空白處添加一下內容:

其中DeflateCompressionLevel 的意思是壓縮等級,共分為1-9,9級為最高,不建議使用太高的壓縮比,這樣會對CPU產生太大的負擔。

打開配置文件 nginx.conf找到Gzip on 把前面的注釋符號#去掉即可開啟GZIP服務。然後配置GZIP即可。

下面是一個相對優化不錯的配置。

㈥ 怎樣使用 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 中對 application/json 格式進行 gzip 壓縮無效的問題

默認情況下,開啟gzip不會對application/json類型的響應做壓縮處理,需要通過以下指令使nginx對application/json格式進行gzip壓縮:

gzipon;
gzip_typesapplication/jsonapplication/javascripttext/cssimage/svg+xml;

㈧ Nginx 配置靜態壓縮(ngx_http_gzip_static_mole)

Nginx提供靜態壓縮功能,對於比較大的文件,可以自動默認查找.gz後綴的壓縮包。減小項目工程的大小。

對於支持gzip的請求反向代理緩存伺服器將返回gzip內容,不支持gzip的客戶端返回原始內容。

㈨ 如何在Nginx伺服器中啟用Gzip壓縮

gzip指令可以開啟或關閉gzip:
gzip on;#開啟gzip
默認只對MIME為text/html進行gzip

可以通過gzip_types指令指定gzip的MIME類型:
gzip_types application/javascript application/json;#開啟其他MIME類型的GZIP功能

閱讀全文

與nginxgzip壓縮圖片相關的資料

熱點內容
51單片機程序單步視頻 瀏覽:239
家庭寬頻如何連接伺服器 瀏覽:117
汽車高壓泵解壓 瀏覽:770
上門正骨用什麼app 瀏覽:758
安卓為什麼免費使用 瀏覽:397
加密貨幣都有哪些平台 瀏覽:625
python和matlab難度 瀏覽:388
python爬蟲很難學么 瀏覽:572
小米解壓積木可以組成什麼呢 瀏覽:816
為什麼滴滴出行app還能用 瀏覽:564
怎麼升級手機android 瀏覽:923
php權威編程pdf 瀏覽:994
扣扣加密技巧 瀏覽:720
蘋果如何創建伺服器錯誤 瀏覽:497
軟考初級程序員大題分值 瀏覽:475
js壓縮視頻文件 瀏覽:580
linux如何通過命令創建文件 瀏覽:991
應用加密app還能訪問應用嘛 瀏覽:435
安卓怎麼用支付寶交違章罰款 瀏覽:667
php面向對象的程序設計 瀏覽:506