Nginx 壓縮和解壓

壓縮過程減少了傳輸數(shù)據(jù)的大小。然而,由于壓縮發(fā)生在運(yùn)行時(shí),它也可能包括相當(dāng)大的處理開銷,這會對性能產(chǎn)生負(fù)面影響。Nginx 在向客戶端發(fā)送響應(yīng)之前執(zhí)行壓縮,但不會對已經(jīng)壓縮的響應(yīng)進(jìn)行雙重壓縮。

啟用壓縮

要啟用壓縮,請?zhí)砑訋в?strong>on參數(shù)的 gzip 指令:

gzip on;  

默認(rèn)情況下,Nginx 僅使用 text/html(MIME 類型)壓縮響應(yīng)。要使用其他 MIME 類型壓縮響應(yīng),請?zhí)砑?gzip_types 指令并列出其他類型。

gzip_types text/plain application/xml;  

我們可以定義要壓縮的響應(yīng)的最小長度,使用 gzip_min_length 指令。默認(rèn)值為 20 字節(jié)。

gzip_min_length 1000;  

開啟解壓

某些客戶端不使用 gzip 編碼方法處理響應(yīng)。同時(shí),可能需要動態(tài)存儲壓縮數(shù)據(jù)或響應(yīng)并將它們存儲在緩存中。為了成功地為接受和不接受壓縮數(shù)據(jù)的客戶端提供服務(wù),NGINX 可以在將數(shù)據(jù)發(fā)送到后一種類型的客戶端時(shí)即時(shí)解壓縮數(shù)據(jù)。

要啟用運(yùn)行時(shí)解壓縮,請使用 gunzip 指令。

location /storage/ {  
    gunzip on;  
    ...  
} 

gunzip 指令可以在與 gzip 指令相同的上下文中定義:

server {  
    gzip on;  
    gzip_min_length 1000;  
    gunzip on;  
    ...  
}  

注意:該指令在一個單獨(dú)的模塊中定義,默認(rèn)情況下可能不包含在 NGINX 構(gòu)建中。

發(fā)送壓縮文件

要將壓縮文件而不是常規(guī)文件發(fā)送到客戶端,請?jiān)谶m當(dāng)?shù)纳舷挛闹袑?gzip_static 指令設(shè)置為 on。

location / {  
    gzip_static on;  
} 

在上面的例子中,為了服務(wù)一個對 /p??ath/to/file 的請求,NGINX 試圖找到并發(fā)送文件/path/to/file.gz。如果文件不存在,或者客戶端不支持 gzip,NGINX 會發(fā)送未壓縮的文件。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清