国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Nginx實踐篇(1)- Nginx作為靜態資源web服務 - 靜態資源壓縮

GraphQuery / 1396人閱讀

摘要:一靜態資源服務靜態資源類型類型文件類型瀏覽器端渲染圖片視頻文件等其他下載文件靜態資源服務場景二靜態資源核心配置文件讀取是一種高效傳輸文件的模式設置為表示啟動高效傳輸文件的模式。語法壓縮開啟壓縮,可以加快資源響應速度,同時節省網絡帶寬資源。

一、靜態資源web服務

1. 靜態資源類型

類型 文件類型
瀏覽器端渲染 HTML、CSS、JS
圖片 JEPG、GIF、PNG
視頻 FLV、MPEG
文件 TXT等其他下載文件
2. 靜態資源服務場景-CDN

二、靜態資源核心配置 1. 文件讀取 sendfile

sendfile 是一種高效傳輸文件的模式.
sendfile設置為on表示啟動高效傳輸文件的模式。sendfile可以讓Nginx在傳輸文件時直接在磁盤和tcp socket之間傳輸數據。如果這個參數不開啟,會先在用戶空間(Nginx進程空間)申請一個buffer,用read函數把數據從磁盤讀到cache,再從cache讀取到用戶空間的buffer,再用write函數把數據從用戶空間的buffer寫入到內核的buffer,最后到tcp socket。開啟這個參數后可以讓數據不用經過用戶buffer。

語法

Syntax:        sendfile on | off;
Default:    sendfile off;
Context:    http, server, location, if in location

2. tcp_nopush

在 sendfile 開啟的情況下,提高網絡數據包的傳輸效率。
tcp_nopush指令,在連接套接字時啟用Linux系統下的TCP_CORK。該選項告訴TCP堆棧附加數據包,并在它們已滿或當應用程序通過顯式刪除TCP_CORK指示發送數據包時發送它們。 這使得發送的數據分組是最優量,并且因此提高了網絡數據包的傳輸效率。
也就是說 tcp_nopush=on 時,結果就是數據包不會馬上傳送出去,等到數據包最大時,一次性的傳輸出去,這樣有助于解決網絡堵塞,雖然有一點點延遲。

語法

Syntax:        tcp_nopush on | off;
Default:    tcp_nopush off;
Context:    http, server, location

3. tcp_nodelay

在 keepalive 連接下,提高網絡數據包的傳輸實時性。
tcp_nodelay選項和tcp_nopush正好相反,數據包不等待,實時發送給用戶。

語法

Syntax:        tcp_nodelay on | off;
Default:    tcp_nodelay off;
Context:    server, location

4. 壓縮

開啟壓縮,可以加快資源響應速度,同時節省網絡帶寬資源。

ngx_http_gzip_module

語法

開啟關閉壓縮

Syntax:        gzip on | off;
Default:    gzip off;
Context:    http, server, location, if in location

壓縮等級配置(壓縮等級越高,越消耗服務器資源)

Syntax:    gzip_comp_level level;
Default:    gzip_comp_level 1;
Context:    http, server, location

gzip協議版本配置

Syntax:    gzip_http_version 1.0 | 1.1;
Default:    gzip_http_version 1.1;
Context:    http, server, location

壓縮擴展模塊

預讀gzip功能 ngx_http_gzip_static_module

Syntax:    gzip_static on | off | always;
Default:    gzip_static off;
Context:    http, server, location

應用支持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
三、靜態資源壓縮實例

1. vim /etc/nginx/conf.d/static.conf

server {
    #開啟sendfile,提高網絡包的傳輸效率
    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. 創建 /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響應頭信息

[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

從響應頭信息中可看出服務器使用了gzip壓縮

5. 通過瀏覽器訪問 192.168.33.88/a.txt,使用開發者工具查看請求文件的大小

可見,經過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。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/8056.html

相關文章

  • Nginx踐篇1)- Nginx作為靜態資源web服務 - 靜態資源壓縮

    摘要:一靜態資源服務靜態資源類型類型文件類型瀏覽器端渲染圖片視頻文件等其他下載文件靜態資源服務場景二靜態資源核心配置文件讀取是一種高效傳輸文件的模式設置為表示啟動高效傳輸文件的模式。語法壓縮開啟壓縮,可以加快資源響應速度,同時節省網絡帶寬資源。 一、靜態資源web服務 showImg(https://segmentfault.com/img/remote/1460000015873025?w...

    luffyZh 評論0 收藏0
  • Nginx踐篇1)- Nginx作為靜態資源web服務 - 靜態資源壓縮

    摘要:一靜態資源服務靜態資源類型類型文件類型瀏覽器端渲染圖片視頻文件等其他下載文件靜態資源服務場景二靜態資源核心配置文件讀取是一種高效傳輸文件的模式設置為表示啟動高效傳輸文件的模式。語法壓縮開啟壓縮,可以加快資源響應速度,同時節省網絡帶寬資源。 一、靜態資源web服務 showImg(https://segmentfault.com/img/remote/1460000015873025?w...

    lykops 評論0 收藏0
  • Nginx-場景踐篇

    摘要:場景實踐篇一作為靜態資源服務動態資源和靜態資源客戶端請求的頁面如果是靜態網頁,那么服務器會直接把靜態網頁的內容響應給客戶端。 Nginx-場景實踐篇 一、Nginx作為靜態資源Web服務 1、動態資源和靜態資源 客戶端請求的頁面如果是靜態網頁,那么服務器會直接把靜態網頁的內容響應給客戶端。如果客戶端請求的是動態網頁,服務器需要先把動態網頁換成靜態網頁,然后再把轉換后的靜態網頁響應給客戶...

    yeooo 評論0 收藏0
  • Nginx-場景踐篇

    摘要:場景實踐篇一作為靜態資源服務動態資源和靜態資源客戶端請求的頁面如果是靜態網頁,那么服務器會直接把靜態網頁的內容響應給客戶端。 Nginx-場景實踐篇 一、Nginx作為靜態資源Web服務 1、動態資源和靜態資源 客戶端請求的頁面如果是靜態網頁,那么服務器會直接把靜態網頁的內容響應給客戶端。如果客戶端請求的是動態網頁,服務器需要先把動態網頁換成靜態網頁,然后再把轉換后的靜態網頁響應給客戶...

    Steven 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<