nginx的gzip壓縮

   最近運維網頁遊戲的時候出現一個奇怪的問題,在進入遊戲加載頁之後,瀏覽器加載客戶端資源的時候會卡在某一個進度,直到把資源加載完後,便直接進入遊戲,而不會出現平滑的加載進度條顯示。
因爲加載資源的時候有一個文件比較大,而且是txt文件,資源是放在cdn上加載,因爲換過一次cdn,在換cdn之前是正常的,所以排除是客戶端本身程序的問題,檢查cdn配置,是否對txt後綴的文件有做特殊處理。

   查看nginx配置有一項關於gzip壓縮,開啓的情況下默認會對txt類型的文件進行壓縮處理:


gzip on;
//該指令用於開啓或關閉gzip模塊(on/off)

gzip_min_length 1k;
//設置允許壓縮的頁面最小字節數,頁面字節數從header頭得content-length中進行獲取。默認值是0,不管頁面多大都壓縮。建議設置成大於1k的字節數,小於1k可能會越壓越大。

gzip_buffers 4 16k;
//設置系統獲取幾個單位的緩存用於存儲gzip的壓縮結果數據流。4 16k代表以16k爲單位,安裝原始數據大小以16k爲單位的4倍申請內存。

gzip_http_version 1.1;
//識別http的協議版本(1.0/1.1)

gzip_comp_level 1;
//gzip壓縮比,1壓縮比最小處理速度最快,9壓縮比最大但處理速度最慢(傳輸快但比較消耗cpu)

gzip_types text/plain application/x-javascript text/css application/xml
//匹配mime類型進行壓縮,無論是否指定,”text/html”類型總是會被壓縮的。
gzip_vary on;
//和http頭有關係,加個vary頭,給代理服務器用的,有的瀏覽器支持壓縮,有的不支持,所以避免浪費不支持的也壓縮,所以根據客戶端的HTTP頭來判斷,是否需要壓縮

nginx 配置gzip段如下:
gzip on;
gzip_min_length 1k;
gzip_buffers 16 64k;
gzip_http_version 1.1;
gzip_comp_level 6;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;


瞭解了gzip的相關信息後,在nginx配置文件中將gzip功能關閉,而後測試加載遊戲正常,進度條也能正常顯示加載。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章