溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Nginx基礎(chǔ)入門(mén)之gzip配置的方法

發(fā)布時(shí)間:2022-04-28 14:17:55 來(lái)源:億速云 閱讀:1716 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要介紹“Nginx基礎(chǔ)入門(mén)之gzip配置的方法”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“Nginx基礎(chǔ)入門(mén)之gzip配置的方法”文章能幫助大家解決問(wèn)題。

前言

gzip(gnu-zip)是一種壓縮技術(shù)。經(jīng)過(guò)gzip壓縮后頁(yè)面大小可以變?yōu)樵瓉?lái)的30%甚至更小,這樣,用戶瀏覽頁(yè)面的時(shí)候速度會(huì)塊得多。gzip的壓縮頁(yè)面需要瀏覽器和服務(wù)器雙方都支持,實(shí)際上就是服務(wù)器端壓縮,傳到瀏覽器后瀏覽器解壓并解析。瀏覽器那里不需要我們擔(dān)心,因?yàn)槟壳暗木薮蠖鄶?shù)瀏覽器都支持解析gzip過(guò)的頁(yè)面。

無(wú)論是前端還是后端,在部署項(xiàng)目時(shí),時(shí)常免不了用到nginx,小項(xiàng)目也時(shí)常做個(gè)反向代理啥的。今天就簡(jiǎn)單直接,聊一下其中的一個(gè)點(diǎn)——gzip。如有錯(cuò)誤,歡迎指正。

一般服務(wù)器端常用的是 ubuntu、centos、linux 等。自己若沒(méi)有服務(wù)器,可在本地把玩一下。

mac 安裝

mac下可直接用brew安裝,若未安裝brew可先行安裝

/usr/bin/ruby -e "$(curl -fssl https://raw.githubusercontent.com/homebrew/install/master/install)"
brew install nginx

默認(rèn)配置

安裝完成后會(huì)看到命令行含有以下信息,可以看到 nginx.conf所在路徑,這正是我們要找的配置文件。同時(shí)含有端口信息,當(dāng)啟動(dòng)nginx時(shí),可以直接訪問(wèn)http://localhost:8080,當(dāng)看到下圖所示頁(yè)面,即安裝啟動(dòng)成功。

docroot: /usr/local/var/www
default config: /usr/local/etc/nginx/nginx.conf
port:8080

Nginx基礎(chǔ)入門(mén)之gzip配置的方法

幾個(gè)常用命令

  • 啟動(dòng):nginx

  • 重新熱啟動(dòng):nginx -s reload

  • 關(guān)閉:nginx -s stop

  • 測(cè)試語(yǔ)法:nginx -t

gizp配置:

gzip 相關(guān)配置可放在 http{} 或 server{} 或 location{} 層級(jí),若不同層級(jí)有重復(fù)設(shè)置優(yōu)先級(jí)為 location{} > server{} > http{}

1、開(kāi)啟 gzip壓縮

gzip on;

2、gzip http 版本

gzip_http_version 1.0;

3、禁止ie6進(jìn)行g(shù)zip壓縮(當(dāng)然現(xiàn)在已經(jīng)基本沒(méi)有人使用ie6了)

gzip_disable "msie [1-6]";

4、壓縮級(jí)別(1~9,一般為平衡文件大小和cpu使用,5是常用值,當(dāng)然跟實(shí)際機(jī)器的情況有關(guān))

gzip_comp_level 5;

5、最小壓縮臨界值(默認(rèn)的是20字節(jié))

gzip_min_length 20;

6、壓縮通過(guò)代理鏈接的客戶端數(shù)據(jù)

gzip_proxied any;

7、采用http協(xié)議版本 默認(rèn)是1.1 ,對(duì)于1.0的請(qǐng)求不會(huì)壓縮,如果設(shè)置成1.0,表示http1.0以上 的版本都會(huì)壓縮。(如果使用了proxy_pass 進(jìn)行反向代理,那么nginx和后端的 upstream server之間默認(rèn)是用 http/1.0協(xié)議通信的。)

gzip_http_version 1.0;

8、代理緩存壓縮和原始版本資源,避免客戶端因accept-encoding不支持gzip而發(fā)生錯(cuò)誤的現(xiàn)象(現(xiàn)在一般都采用gzip)

gzip_vary on;

9、壓縮文件類(lèi)型(默認(rèn)總是壓縮 text/html類(lèi)型,其中特別說(shuō)明的是application/javascript和text/javascript最好都加上,若頁(yè)面script標(biāo)簽的type不同則有可能發(fā)生部分js文件不會(huì)壓縮,默認(rèn)type為application/javascript)

gzip_types application/atom+xml application/javascript application/json application/rss+xml application/vnd.ms-fontobject application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/svg+xml image/x-icon text/css text/plain text/javascript text/x-component;

10、如果有已經(jīng)壓縮的(.gz)或者提供靜態(tài)文件服務(wù),可以設(shè)置為on。如果不是這樣,最好設(shè)置為off,因?yàn)檫@會(huì)造成額外的i/o開(kāi)銷(xiāo)。一個(gè)比較好的處理方式是放在location{}server{}級(jí)別單獨(dú)處理。

gzip_static on;

11、壓縮結(jié)果數(shù)據(jù)流存儲(chǔ)所用空間,下面表示以8k為單位,按照原始數(shù)據(jù)大小以8k為單位的16倍申請(qǐng)內(nèi)存。默認(rèn)值是申請(qǐng)跟原始數(shù)據(jù)相同大小的內(nèi)存空間去存儲(chǔ)gzip壓縮結(jié)果。

gzip_buffers 16 8k;

關(guān)于“Nginx基礎(chǔ)入門(mén)之gzip配置的方法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI