摘要:一靜態(tài)資源服務(wù)靜態(tài)資源類型類型文件類型瀏覽器端渲染圖片視頻文件等其他下載文件靜態(tài)資源服務(wù)場景二靜態(tài)資源核心配置文件讀取是一種高效傳輸文件的模式設(shè)置為表示啟動高效傳輸文件的模式。語法壓縮開啟壓縮,可以加快資源響應(yīng)速度,同時節(jié)省網(wǎng)絡(luò)帶寬資源。
一、靜態(tài)資源web服務(wù) 1. 靜態(tài)資源類型
類型 | 文件類型 |
---|---|
瀏覽器端渲染 | HTML、CSS、JS |
圖片 | JEPG、GIF、PNG |
視頻 | FLV、MPEG |
文件 | TXT等其他下載文件 |
sendfile 是一種高效傳輸文件的模式.
sendfile設(shè)置為on表示啟動高效傳輸文件的模式。sendfile可以讓Nginx在傳輸文件時直接在磁盤和tcp socket之間傳輸數(shù)據(jù)。如果這個參數(shù)不開啟,會先在用戶空間(Nginx進程空間)申請一個buffer,用read函數(shù)把數(shù)據(jù)從磁盤讀到cache,再從cache讀取到用戶空間的buffer,再用write函數(shù)把數(shù)據(jù)從用戶空間的buffer寫入到內(nèi)核的buffer,最后到tcp socket。開啟這個參數(shù)后可以讓數(shù)據(jù)不用經(jīng)過用戶buffer。
Syntax: sendfile on | off; Default: sendfile off; Context: http, server, location, if in location2. tcp_nopush
在 sendfile 開啟的情況下,提高網(wǎng)絡(luò)數(shù)據(jù)包的傳輸效率。
tcp_nopush指令,在連接套接字時啟用Linux系統(tǒng)下的TCP_CORK。該選項告訴TCP堆棧附加數(shù)據(jù)包,并在它們已滿或當應(yīng)用程序通過顯式刪除TCP_CORK指示發(fā)送數(shù)據(jù)包時發(fā)送它們。 這使得發(fā)送的數(shù)據(jù)分組是最優(yōu)量,并且因此提高了網(wǎng)絡(luò)數(shù)據(jù)包的傳輸效率。
也就是說 tcp_nopush=on 時,結(jié)果就是數(shù)據(jù)包不會馬上傳送出去,等到數(shù)據(jù)包最大時,一次性的傳輸出去,這樣有助于解決網(wǎng)絡(luò)堵塞,雖然有一點點延遲。
Syntax: tcp_nopush on | off; Default: tcp_nopush off; Context: http, server, location3. tcp_nodelay
在 keepalive 連接下,提高網(wǎng)絡(luò)數(shù)據(jù)包的傳輸實時性。
tcp_nodelay選項和tcp_nopush正好相反,數(shù)據(jù)包不等待,實時發(fā)送給用戶。
Syntax: tcp_nodelay on | off; Default: tcp_nodelay off; Context: server, location4. 壓縮
開啟壓縮,可以加快資源響應(yīng)速度,同時節(jié)省網(wǎng)絡(luò)帶寬資源。
ngx_http_gzip_module 語法開啟關(guān)閉壓縮
Syntax: gzip on | off; Default: gzip off; Context: http, server, location, if in location
壓縮等級配置(壓縮等級越高,越消耗服務(wù)器資源)
Syntax: gzip_comp_level level; Default: gzip_comp_level 1; Context: http, server, location
gzip協(xié)議版本配置
Syntax: gzip_http_version 1.0 | 1.1; Default: gzip_http_version 1.1; Context: http, server, location壓縮擴展模塊
預(yù)讀gzip功能 ngx_http_gzip_static_module
Syntax: gzip_static on | off | always; Default: gzip_static off; Context: http, server, location
應(yīng)用支持gunzip的壓縮方式 ngx_http_gunzip_module
Syntax: gunzip on | off; Default: gunzip off; Context: http, server, location Syntax: gunzip_buffers number size; Default: gunzip_buffers 32 4k|16 8k; Context: http, server, location三、靜態(tài)資源壓縮實例 1. vim /etc/nginx/conf.d/static.conf
server { #開啟sendfile,提高網(wǎng)絡(luò)包的傳輸效率 sendfile on; #配置txt|xml資源的路徑 location ~ .*.(txt|xml)$ { #開啟壓縮 gzip on; gzip_http_version 1.1; gzip_comp_level 1; gzip_types text/plain application/xml; root /vagrant/doc; } }2. nginx -s reload 重新載入nginx配置文件 3. 創(chuàng)建 /vagrant/doc/a.txt 文件,并查看文件大小
[root/etc/nginx]# curl http://www.sina.com.cn/ > /vagrant/doc/a.txt % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 557k 100 557k 0 0 488k 0 0:00:01 0:00:01 --:--:-- 488k [root/etc/nginx]# ll /vagrant/doc/a.txt -rwxrwxrwx 1 vagrant vagrant 558K 7月 11 10:57 /vagrant/doc/a.txt*
可見,a.txt 文件大小為 558K
4. 通過curl訪問 192.168.33.88/a.txt,查看http響應(yīng)頭信息[root/etc/nginx]# curl -I 192.168.33.88/a.txt -H Accept-Encoding:gzip,defalte HTTP/1.1 200 OK Server: nginx/1.14.0 Date: Wed, 11 Jul 2018 11:01:43 GMT Content-Type: text/plain Last-Modified: Wed, 11 Jul 2018 10:57:22 GMT Connection: keep-alive ETag: W/"5b45e292-8b47f" Content-Encoding: gzip
從響應(yīng)頭信息中可看出服務(wù)器使用了gzip壓縮
5. 通過瀏覽器訪問 192.168.33.88/a.txt,使用開發(fā)者工具查看請求文件的大小可見,經(jīng)過gzip壓縮,請求文件由558K被壓縮到148K,壓縮比例很高。
6. 另外還可以通過nginx的access.log日志查看傳輸文件的大小[root/etc/nginx]# tail /var/log/nginx/access.log 192.168.33.1 - - [11/Jul/2018:11:02:46 +0000] "GET /a.txt HTTP/1.1" 200 151549 "-" "Chrome/67.0.3396.99" "-"
可看出傳輸文件大小為 151549,單位是B,換算成KB約為148KB。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/40041.html
摘要:一靜態(tài)資源服務(wù)靜態(tài)資源類型類型文件類型瀏覽器端渲染圖片視頻文件等其他下載文件靜態(tài)資源服務(wù)場景二靜態(tài)資源核心配置文件讀取是一種高效傳輸文件的模式設(shè)置為表示啟動高效傳輸文件的模式。語法壓縮開啟壓縮,可以加快資源響應(yīng)速度,同時節(jié)省網(wǎng)絡(luò)帶寬資源。 一、靜態(tài)資源web服務(wù) showImg(https://segmentfault.com/img/remote/1460000015873025?w...
摘要:一靜態(tài)資源服務(wù)靜態(tài)資源類型類型文件類型瀏覽器端渲染圖片視頻文件等其他下載文件靜態(tài)資源服務(wù)場景二靜態(tài)資源核心配置文件讀取是一種高效傳輸文件的模式設(shè)置為表示啟動高效傳輸文件的模式。語法壓縮開啟壓縮,可以加快資源響應(yīng)速度,同時節(jié)省網(wǎng)絡(luò)帶寬資源。 一、靜態(tài)資源web服務(wù) showImg(https://segmentfault.com/img/remote/1460000015873025?w...
摘要:場景實踐篇一作為靜態(tài)資源服務(wù)動態(tài)資源和靜態(tài)資源客戶端請求的頁面如果是靜態(tài)網(wǎng)頁,那么服務(wù)器會直接把靜態(tài)網(wǎng)頁的內(nèi)容響應(yīng)給客戶端。 Nginx-場景實踐篇 一、Nginx作為靜態(tài)資源Web服務(wù) 1、動態(tài)資源和靜態(tài)資源 客戶端請求的頁面如果是靜態(tài)網(wǎng)頁,那么服務(wù)器會直接把靜態(tài)網(wǎng)頁的內(nèi)容響應(yīng)給客戶端。如果客戶端請求的是動態(tài)網(wǎng)頁,服務(wù)器需要先把動態(tài)網(wǎng)頁換成靜態(tài)網(wǎng)頁,然后再把轉(zhuǎn)換后的靜態(tài)網(wǎng)頁響應(yīng)給客戶...
摘要:場景實踐篇一作為靜態(tài)資源服務(wù)動態(tài)資源和靜態(tài)資源客戶端請求的頁面如果是靜態(tài)網(wǎng)頁,那么服務(wù)器會直接把靜態(tài)網(wǎng)頁的內(nèi)容響應(yīng)給客戶端。 Nginx-場景實踐篇 一、Nginx作為靜態(tài)資源Web服務(wù) 1、動態(tài)資源和靜態(tài)資源 客戶端請求的頁面如果是靜態(tài)網(wǎng)頁,那么服務(wù)器會直接把靜態(tài)網(wǎng)頁的內(nèi)容響應(yīng)給客戶端。如果客戶端請求的是動態(tài)網(wǎng)頁,服務(wù)器需要先把動態(tài)網(wǎng)頁換成靜態(tài)網(wǎng)頁,然后再把轉(zhuǎn)換后的靜態(tài)網(wǎng)頁響應(yīng)給客戶...
閱讀 3185·2021-11-24 09:39
閱讀 2923·2021-11-23 09:51
閱讀 887·2021-11-18 10:07
閱讀 3544·2021-10-11 10:57
閱讀 2740·2021-10-08 10:04
閱讀 2999·2021-09-26 10:11
閱讀 1046·2021-09-23 11:21
閱讀 2779·2019-08-29 17:28