最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nginx開啟Gzip壓縮大幅提高頁(yè)面加載速度的方法

 更新時(shí)間:2018年08月28日 10:37:59   作者:Slyar Home  
這篇文章主要介紹了Nginx開啟Gzip壓縮大幅提高頁(yè)面加載速度的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

剛剛給博客加了一個(gè)500px相冊(cè)插件,lightbox引入了很多js文件和css文件,頁(yè)面一下子看起來(lái)非常臃腫,所以還是把Gzip打開了。

環(huán)境:Debian 6

1、Vim打開Nginx配置文件

vim /usr/local/nginx/conf/nginx.conf

2、找到如下一段,進(jìn)行修改

gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
#gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary off;
gzip_disable "MSIE [1-6]\.";

3、解釋一下

第1行:開啟Gzip

第2行:不壓縮臨界值,大于1K的才壓縮,一般不用改

第3行:buffer,就是,嗯,算了不解釋了,不用改

第4行:用了反向代理的話,末端通信是HTTP/1.0,有需求的應(yīng)該也不用看我這科普文了;有這句的話注釋了就行了,默認(rèn)是HTTP/1.1

第5行:壓縮級(jí)別,1-10,數(shù)字越大壓縮的越好,時(shí)間也越長(zhǎng),看心情隨便改吧

第6行:進(jìn)行壓縮的文件類型,缺啥補(bǔ)啥就行了,JavaScript有兩種寫法,最好都寫上吧,總有人抱怨js文件沒有壓縮,其實(shí)多寫一種格式就行了

第7行:跟Squid等緩存服務(wù)有關(guān),on的話會(huì)在Header里增加"Vary: Accept-Encoding",我不需要這玩意,自己對(duì)照情況看著辦吧

第8行:IE6對(duì)Gzip不怎么友好,不給它Gzip了

4、:wq保存退出,重新加載Nginx

/usr/local/nginx/sbin/nginx -s reload

5、用curl測(cè)試Gzip是否成功開啟

curl -I -H "Accept-Encoding: gzip, deflate" "http://www.slyar.com/blog/"

HTTP/1.1 200 OK
Server: nginx/1.0.15
Date: Sun, 26 Aug 2012 18:13:09 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
X-Powered-By: PHP/5.2.17p1
X-Pingback: http://www.slyar.com/blog/xmlrpc.php
Content-Encoding: gzip

頁(yè)面成功壓縮

curl -I -H "Accept-Encoding: gzip, deflate" "http://www.slyar.com/blog/wp-content/plugins/photonic/include/css/photonic.css"

HTTP/1.1 200 OK
Server: nginx/1.0.15
Date: Sun, 26 Aug 2012 18:21:25 GMT
Content-Type: text/css
Last-Modified: Sun, 26 Aug 2012 15:17:07 GMT
Connection: keep-alive
Expires: Mon, 27 Aug 2012 06:21:25 GMT
Cache-Control: max-age=43200
Content-Encoding: gzip

css文件成功壓縮

curl -I -H "Accept-Encoding: gzip, deflate" "http://www.slyar.com/blog/wp-includes/js/jquery/jquery.js"

HTTP/1.1 200 OK
Server: nginx/1.0.15
Date: Sun, 26 Aug 2012 18:21:38 GMT
Content-Type: application/x-javascript
Last-Modified: Thu, 12 Jul 2012 17:42:45 GMT
Connection: keep-alive
Expires: Mon, 27 Aug 2012 06:21:38 GMT
Cache-Control: max-age=43200
Content-Encoding: gzip

js文件成功壓縮

curl -I -H "Accept-Encoding: gzip, deflate" "http://www.slyar.com/blog/wp-content/uploads/2012/08/2012-08-23_203542.png"

HTTP/1.1 200 OK
Server: nginx/1.0.15
Date: Sun, 26 Aug 2012 18:22:45 GMT
Content-Type: image/png
Last-Modified: Thu, 23 Aug 2012 13:50:53 GMT
Connection: keep-alive
Expires: Tue, 25 Sep 2012 18:22:45 GMT
Cache-Control: max-age=2592000
Content-Encoding: gzip

圖片成功壓縮

curl -I -H "Accept-Encoding: gzip, deflate" "http://www.slyar.com/blog/wp-content/plugins/wp-multicollinks/wp-multicollinks.css"

HTTP/1.1 200 OK
Server: nginx/1.0.15
Date: Sun, 26 Aug 2012 18:23:27 GMT
Content-Type: text/css
Content-Length: 180
Last-Modified: Sat, 02 May 2009 08:46:15 GMT
Connection: keep-alive
Expires: Mon, 27 Aug 2012 06:23:27 GMT
Cache-Control: max-age=43200
Accept-Ranges: bytes

最后來(lái)個(gè)不到1K的文件,由于我的閾值是1K,所以沒壓縮

gzip參數(shù)解釋

gzip on|off

默認(rèn)值: gzip off

開啟或者關(guān)閉gzip模塊

gzip_static on|off

nginx對(duì)于靜態(tài)文件的處理模塊

該模塊可以讀取預(yù)先壓縮的gz文件,這樣可以減少每次請(qǐng)求進(jìn)行g(shù)zip壓縮的CPU資源消耗。該模塊啟用后,nginx首先檢查是否存在請(qǐng)求靜態(tài)文件的gz結(jié)尾的文件,如果有則直接返回該gz文件內(nèi)容。為了要兼容不支持gzip的瀏覽器,啟用gzip_static模塊就必須同時(shí)保留原始靜態(tài)文件和gz文件。這樣的話,在有大量靜態(tài)文件的情況下,將會(huì)大大增加磁盤空間。我們可以利用nginx的反向代理功能實(shí)現(xiàn)只保留gz文件。

可以google”nginx gzip_static”了解更多

gzip_comp_level 4

默認(rèn)值:1(建議選擇為4)

gzip壓縮比/壓縮級(jí)別,壓縮級(jí)別 1-9,級(jí)別越高壓縮率越大,當(dāng)然壓縮時(shí)間也就越長(zhǎng)(傳輸快但比較消耗cpu)。

gzip_buffers 4 16k

默認(rèn)值: gzip_buffers 4 4k/8k

設(shè)置系統(tǒng)獲取幾個(gè)單位的緩存用于存儲(chǔ)gzip的壓縮結(jié)果數(shù)據(jù)流。 例如 4 4k 代表以4k為單位,按照原始數(shù)據(jù)大小以4k為單位的4倍申請(qǐng)內(nèi)存。 4 8k 代表以8k為單位,按照原始數(shù)據(jù)大小以8k為單位的4倍申請(qǐng)內(nèi)存。
如果沒有設(shè)置,默認(rèn)值是申請(qǐng)跟原始數(shù)據(jù)相同大小的內(nèi)存空間去存儲(chǔ)gzip壓縮結(jié)果。

gzip_types mime-type [mime-type …]

默認(rèn)值: gzip_types text/html (默認(rèn)不對(duì)js/css文件進(jìn)行壓縮)

壓縮類型,匹配MIME類型進(jìn)行壓縮

不能用通配符 text/* (無(wú)論是否指定)text/html默認(rèn)已經(jīng)壓縮

設(shè)置哪壓縮種文本文件可參考 conf/mime.types

gzip_min_length 1k

默認(rèn)值: 0 ,不管頁(yè)面多大都?jí)嚎s

設(shè)置允許壓縮的頁(yè)面最小字節(jié)數(shù),頁(yè)面字節(jié)數(shù)從header頭中的Content-Length中進(jìn)行獲取。

建議設(shè)置成大于1k的字節(jié)數(shù),小于1k可能會(huì)越壓越大。 即: gzip_min_length 1024

gzip_http_version 1.0|1.1

默認(rèn)值: gzip_http_version 1.1(就是說(shuō)對(duì)HTTP/1.1協(xié)議的請(qǐng)求才會(huì)進(jìn)行g(shù)zip壓縮)

識(shí)別http的協(xié)議版本。由于早期的一些瀏覽器或者h(yuǎn)ttp客戶端,可能不支持gzip自解壓,用戶就會(huì)看到亂碼,所以做一些判斷還是有必要的。

注:99.99%的瀏覽器基本上都支持gzip解壓了,所以可以不用設(shè)這個(gè)值,保持系統(tǒng)默認(rèn)即可。

假設(shè)我們使用的是默認(rèn)值1.1,如果我們使用了proxy_pass進(jìn)行反向代理,那么nginx和后端的upstream server之間是用HTTP/1.0協(xié)議通信的,如果我們使用nginx通過(guò)反向代理做Cache Server,而且前端的nginx沒有開啟gzip,同時(shí),我們后端的nginx上沒有設(shè)置gzip_http_version為1.0,那么Cache的url將不會(huì)進(jìn)行g(shù)zip壓縮

gzip_proxied [off|expired|no-cache|no-store|private|no_last_modified|no_etag|auth|any] …

默認(rèn)值:off

Nginx作為反向代理的時(shí)候啟用,開啟或者關(guān)閉后端服務(wù)器返回的結(jié)果,匹配的前提是后端服務(wù)器必須要返回包含”Via”的 header頭。

off - 關(guān)閉所有的代理結(jié)果數(shù)據(jù)的壓縮
expired - 啟用壓縮,如果header頭中包含 “Expires” 頭信息
no-cache - 啟用壓縮,如果header頭中包含 “Cache-Control:no-cache” 頭信息
no-store - 啟用壓縮,如果header頭中包含 “Cache-Control:no-store” 頭信息
private - 啟用壓縮,如果header頭中包含 “Cache-Control:private” 頭信息
no_last_modified - 啟用壓縮,如果header頭中不包含 “Last-Modified” 頭信息
no_etag - 啟用壓縮 ,如果header頭中不包含 “ETag” 頭信息
auth - 啟用壓縮 , 如果header頭中包含 “Authorization” 頭信息
any - 無(wú)條件啟用壓縮

gzip_vary on

和http頭有關(guān)系,加個(gè)vary頭,給代理服務(wù)器用的,有的瀏覽器支持壓縮,有的不支持,所以避免浪費(fèi)不支持的也壓縮,所以根據(jù)客戶端的HTTP頭來(lái)判斷,是否需要壓縮

gzip_disable “MSIE [1-6].”

禁用IE6的gzip壓縮,又是因?yàn)楸叩腎E6。當(dāng)然,IE6目前依然廣泛的存在,所以這里你也可以設(shè)置為“MSIE [1-5].”

IE6的某些版本對(duì)gzip的壓縮支持很不好,會(huì)造成頁(yè)面的假死,今天產(chǎn)品的同學(xué)就測(cè)試出了這個(gè)問(wèn)題

后來(lái)調(diào)試后,發(fā)現(xiàn)是對(duì)img進(jìn)行g(shù)zip后造成IE6的假死,把對(duì)img的gzip壓縮去掉后就正常了

為了確保其它的IE6版本不出問(wèn)題,所以建議加上gzip_disable的設(shè)置

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Nginx限流配置的幾種方案的使用小結(jié)

    Nginx限流配置的幾種方案的使用小結(jié)

    Nginx為我們提供了請(qǐng)求限制模塊、基于令牌桶算法的流量限制模塊,可以方便的控制令牌速率,自定義調(diào)節(jié)限流,實(shí)現(xiàn)基本的限流控制,下面就來(lái)介紹一下
    2025-05-05
  • nginx虛擬主機(jī)配置實(shí)例詳解

    nginx虛擬主機(jī)配置實(shí)例詳解

    這篇文章主要介紹了nginx虛擬主機(jī)配置實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • 在Debian11上安裝Openresty服務(wù)(Nginx+Lua)的詳細(xì)教程

    在Debian11上安裝Openresty服務(wù)(Nginx+Lua)的詳細(xì)教程

    OpenResty 是一個(gè)基于 Nginx 與 Lua 的高性能 Web 平臺(tái),其內(nèi)部集成了大量精良的 Lua 庫(kù)、第三方模塊以及大多數(shù)的依賴項(xiàng),這篇文章主要介紹了在Debian11上安裝Openresty服務(wù)(Nginx+Lua)?,需要的朋友可以參考下
    2022-10-10
  • Linux配置Nginx服務(wù)器全過(guò)程

    Linux配置Nginx服務(wù)器全過(guò)程

    本文簡(jiǎn)要介紹了Nginx服務(wù)器的安裝與配置,重點(diǎn)講解了基于域名的虛擬主機(jī)配置方式,包括新建目錄和配置文件、創(chuàng)建日志文件、測(cè)試Nginx服務(wù)器等步驟,并提供了詳細(xì)的配置方法和步驟說(shuō)明
    2026-04-04
  • Nginx SSL配置錯(cuò)誤問(wèn)題及解決

    Nginx SSL配置錯(cuò)誤問(wèn)題及解決

    本文詳細(xì)介紹了Nginx SSL配置的常見錯(cuò)誤及其解決方法,包括證書與私鑰不匹配、協(xié)議版本錯(cuò)誤、證書鏈未配置、加密套件配置錯(cuò)誤、不安全的SSL配置等,同時(shí),文章還提供了一些優(yōu)化建議,如啟用OCSP Stapling和Session Resumption,以提高Nginx的SSL性能
    2025-02-02
  • nginx多l(xiāng)ocation配置實(shí)例代碼

    nginx多l(xiāng)ocation配置實(shí)例代碼

    公司測(cè)試環(huán)境使用nginx部署多個(gè)前端項(xiàng)目,下面這篇文章主要給大家介紹了關(guān)于nginx多l(xiāng)ocation配置的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • Ubuntu16.04上為Nginx創(chuàng)建自簽名SSL證書

    Ubuntu16.04上為Nginx創(chuàng)建自簽名SSL證書

    SSL證書是實(shí)現(xiàn)HTTPS的關(guān)鍵組成部分,本文主要介紹了Ubuntu16.04上為Nginx創(chuàng)建自簽名SSL證書,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05
  • nginx if 指令的具體使用

    nginx if 指令的具體使用

    if指令該指令用來(lái)支持條件判斷,并根據(jù)條件判斷結(jié)果選擇不同的Nginx配置,本文主要介紹了nginx if 指令的具體使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-05-05
  • 強(qiáng)大的 Web 應(yīng)?服務(wù)器OpenResty安裝(Nginx倉(cāng)庫(kù))

    強(qiáng)大的 Web 應(yīng)?服務(wù)器OpenResty安裝(Nginx倉(cāng)庫(kù))

    OpenResty 是?個(gè)強(qiáng)大的 Web 應(yīng)?服務(wù)器,Web 開發(fā)?員可以使用 Lua 腳本語(yǔ)?調(diào)動(dòng) Nginx ?持的各種 C 以及 Lua 模塊,更主要的是在性能方面,OpenResty可以快速構(gòu)造出足以勝任 10K 以上并發(fā)連接響應(yīng)的超高性能 Web 應(yīng)用系統(tǒng)
    2023-06-06
  • nginx處理http請(qǐng)求實(shí)例詳解

    nginx處理http請(qǐng)求實(shí)例詳解

    這篇文章主要介紹了nginx處理http請(qǐng)求實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-06-06

最新評(píng)論

泗水县| 肇源县| 武定县| 哈巴河县| 扎鲁特旗| 夏邑县| 泽普县| 牟定县| 鄂尔多斯市| 台江县| 井陉县| 化隆| 右玉县| 天全县| 普洱| 磐安县| 周口市| 合肥市| 南陵县| 鄂尔多斯市| 谢通门县| 大化| 吉安县| 商城县| 南阳市| 达拉特旗| 芮城县| 哈密市| 丘北县| 广东省| 邵东县| 和顺县| 汶上县| 化德县| 乌苏市| 徐闻县| 尤溪县| 教育| 丹凤县| 宁河县| 诸城市|