欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nginx的gzip指令使用小結

 更新時間:2022年05月13日 09:13:19   作者:白--茶  
GZIP就是將文件壓縮傳輸,圖片、視頻、大文件不建議使用壓縮,壓縮需要占用你的服務器資源,壓縮完效果也不大,今天通過本文給大家如何用好Nginx的gzip指令,感興趣的朋友一起看看吧

簡介

GZIP顧名思義,就是將文件壓縮傳輸。圖片、視頻、大文件不建議使用壓縮,壓縮需要占用你的服務器資源,壓縮完效果也不大。文章出現(xiàn)很多圖片的話,我建議使用圖床來存放你的圖片。文章給大家介紹Nginx的gzip指令。

說一段廢話

壓縮響應數(shù)據(jù)有什么作用呢?問的好:從用戶體驗和IT成本兩方面回答這個問題:

  • 用戶體驗上

網速一定的情況下,傳輸5MB數(shù)據(jù)比傳輸10MB數(shù)據(jù)的時間快了一半。所以傳輸數(shù)據(jù)越小用戶加載頁面就越快,當然相比較之下體驗會更好。

  • IT成本上

對這個場景來說的成本主要是帶寬成本, 數(shù)據(jù)不壓縮那么傳輸這些數(shù)據(jù)相應的帶寬肯定更大,對比之下壓縮耗費的CPU資源在帶寬費用上不值一提。

所以你有什么理由不用壓縮呢?

背景

當然Nginx也提供了gzip的壓縮方式可以使用,但是在日常的工作中我發(fā)現(xiàn)或多或少在使用上有些問題,有點像:用了但又好像沒用的感覺。 這篇就記錄一下gzip的使用方式和易錯點。

指令介紹

gzip

gzip指令來自 ngx_http_gzip_module 模塊,提供的核心能力就是壓縮響應數(shù)據(jù)。

該模塊下提供的指令如下:

gzip                on;     # 開啟gzip
gzip_comp_level     6;      # 壓縮等級:1-9 1:壓縮最快/CPU消耗最少/壓縮率最低 以次類推
gzip_min_length     1000;   # 小于此大小的數(shù)據(jù)不壓縮(單位字節(jié)/byte);數(shù)據(jù)來源"Content-Length"頭
gzip_buffers        32 4k;  # 壓縮響應的緩沖區(qū)數(shù)量和大小(4K 內存頁大小取決于平臺)
gzip_proxied        any;    # 對代理的請求是否開啟壓縮
gzip_types text/plain application/xml application/javascript application/x-javascript text/css application/json;    # 哪些類型的數(shù)據(jù)需要被壓縮
gzip_disable     "MSIE [1-5]\.";    # User-Agent 被正則匹配到的不開啟壓縮
gzip_vary on;               # 當gzip對請求生效時會被添加一個響應頭 "Vary: Accept-Encoding"

tips:

  1. gzip 是動態(tài)壓縮: 每個請求在被響應時都會在gzip邏輯內走一遍
  2. 壓縮等級不是越高越好: 壓縮到一定程度后就會吃力不討好, 從js的測試來看性價比最高的級別是 5或6
  3. buffer大小設置最好是和平臺的內存頁保持一致: getconf PAGE_SIZE
  4. gzip_types不要瞎寫: 寫壓縮率大的(css/js/xml/json/ttf), image圖片就不要寫了,壓縮空間太小,又耗CPU

gzip_static

gzip_stati指令來自 ngx_http_gzip_static_module模塊,提供的核心能力是靜態(tài)/預壓縮

該模塊提供的指令如下:

gzip_static on|off|always;  # always: 不管客戶端是否支持壓縮我他媽全部給你壓縮之后給你

tips:

  1. 可以復用gzip_module中以下的指令:

gzip_http_version, gzip_proxied, gzip_disable, gzip_vary

  1. gzip_static是靜態(tài)壓縮:意思是你的服務端需要同時存在源文件和使用gzip壓縮后的源文件,這時請求的時候會優(yōu)先吧壓縮文件返回,這樣就不用再耗費CPU去動態(tài)壓縮了。(視情況來用,我們沒用)
  2. 可以和gzip一同開啟,沒啥影響,它的優(yōu)先級高于gzip

易錯點提示

在實際的生產環(huán)境中架構都比較負載,不像一個單純的Nginx一樣,我配置好了就萬事大吉了。

時常會遇到有些網站明明配置了gzip但是展示上看并沒有生效,為什么?

此時需要梳理這個請求流程,看看這個請求都經過了哪些地方,比如 你的請求通過三次代理(CDN-->Nginx-->Nginx)那么在其中一層沒有配置或者配置錯誤那么整體的返回數(shù)據(jù)就是沒有被壓縮的, 這種情況出現(xiàn)還是比較多的。

到此這篇關于Nginx的gzip指令使用小結的文章就介紹到這了,更多相關Nginx的gzip指令內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Linux 系統(tǒng) nginx 服務器安裝及負載均衡配置詳解

    Linux 系統(tǒng) nginx 服務器安裝及負載均衡配置詳解

    nginx(engine x) 是一個 高性能 的 HTTP 和 反向代理 服務器、郵件代理服務器以及通用的 TCP/UDP 代理服務器。這篇文章主要介紹了Linux 系統(tǒng) nginx 服務器安裝及負載均衡配置詳解,需要的朋友可以參考下
    2019-07-07
  • Nginx 代理與負載均衡詳解

    Nginx 代理與負載均衡詳解

    這篇文章主要介紹了Nginx 代理與負載均衡詳解的相關資料,需要的朋友可以參考下
    2017-05-05
  • nginx配置支持https的示例代碼

    nginx配置支持https的示例代碼

    這篇文章主要介紹了nginx配置支持https的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • nginx 502、413和404錯誤原因排查和解決辦法總結

    nginx 502、413和404錯誤原因排查和解決辦法總結

    這篇文章主要給大家介紹了NGINX 502錯誤排查,辦法總結,Nginx 413錯誤的排查以及Nginx 400錯誤排查,文中通過代碼示例給出了詳細的排查方法和解決方案,需要的朋友可以參考下
    2023-12-12
  • Nginx中部署Angular項目遇到的坑巨坑

    Nginx中部署Angular項目遇到的坑巨坑

    這篇文章主要介紹了Nginx中部署Angular項目遇到的坑巨坑,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-10-10
  • nginx?405?not?allowed問題三種解決方法

    nginx?405?not?allowed問題三種解決方法

    這篇文章主要給大家介紹了關于nginx?405?not?allowed問題三種解決方法的相關資料,當您遇到"405 Not Allowed"錯誤時,通常表示服務器不允許您使用所請求的HTTP方法,以下是一些可能的解決方法,需要的朋友可以參考下
    2023-08-08
  • nginx修改默認端口方法圖文詳解

    nginx修改默認端口方法圖文詳解

    我們都知道nginx 默認使用80端口,有時候我們希望nginx運行在其他端口,下面這篇文章主要給大家介紹了關于nginx修改默認端口的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • Nginx負載均衡健康檢查性能提升

    Nginx負載均衡健康檢查性能提升

    這篇文章主要為大家介紹了Nginx負載均衡健康檢查性能提升,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • nginx上設置html不緩存的方法實現(xiàn)

    nginx上設置html不緩存的方法實現(xiàn)

    前端項目發(fā)布以后,經常會遇到訪問不到最新的版本,這主要是由于我們項目的入口文件index.html被瀏覽器或者代理緩存了,本文主要介紹了nginx上設置html不緩存,具有一定的參考價值,感興趣的可以了解一下
    2024-02-02
  • uwsgi+nginx代理Django無法訪問靜態(tài)資源的解決

    uwsgi+nginx代理Django無法訪問靜態(tài)資源的解決

    這篇文章主要介紹了uwsgi+nginx代理Django無法訪問靜態(tài)資源,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-05-05

最新評論