1.原理
2.靜態資源類型
3.靜態資源服務場景-CDN
配置語法
1.配置語法,文件讀取
Syntax:sendfile on|off;
Default:sendfile off;
Context:http,server,location,if in location
引讀:--with-file-aio 異步文件讀取
2.配置語法-tcp_nopush
Syntax:tcp_nopush on | off;
Default:tcp_nopush off;
Context:http,server,location
作用:sendfile開啟的情況下,提高網絡包的傳輸效率,將多個文件,一次傳輸
3.配置語法-tcp_nodelay
Syntax:tcp_nodelay on | off;
Default:tcp_nodelay on;
Context:http,server,location
作用:keepalive連接下,提高網絡包的傳輸實時性,與上個語法的作用相反
4.配置語法-壓縮
Syntax:gzip on | off;
Default:gzip off;
Context:http,server,location,if in location
作用:壓縮傳輸
5.配置語法-壓縮比率
Syntax:gzip_comp_level level;
Default:gzip_comp_level 1;
Context:http,server,location
6.配置語法-壓縮http協議的版本
Syntax:gzip_http_version 1.0 | 1.1;
Default:gzip_http_version 1.1;
Context:http,server,location
7.擴展Nginx壓縮模塊
http_gzip_static_module - 預讀gzip功能 # 預先將文件壓縮
http_gunzip_module - 應用支持gunzip的壓縮方式 # 只用於部分瀏覽器不支持解壓的時候才用到
演示壓縮文件
將一個test.png格式的文件,放在下列目錄
/opt/app/code/images
檢查語法后,重啟nginx
訪問192.168.96.188/test.png。此時的圖片為1.1M
將配置文件修改如下
修改好以后,重啟nginx
再次訪問192.168.96.188/test.png
再次查看圖片被壓縮。
相對於圖片,文件的比例壓縮會更大一下
直接將10M的txt文件壓縮成了72kb
http_gzip_static_module - 預讀gzip功能,演示
在download目錄下,上傳一個10M的test.img文件,目前語法是關閉
使用gzip test.img壓縮文件(預讀壓縮)
這時候訪問192.168.96.188/test.img。會發生報錯
修改配置文件,加入如下配置
同樣訪問192.168.96.188/download/test.img,可以正常訪問了