5. nginx靜態資源處理

基本配置

#開啓sendfile
sendfile on; 
#sendfile開啓的狀況下,針對多個tcp請求,進行延時打包處理,能夠有效提升網絡包的傳輸效率
tcp_nopush on;
#keepalive鏈接下,對tcp請求當即響應,與tcp_nopush剛好相反,能夠提升網絡包的傳輸實時性
tcp_nodelay off;
#對響應的內容,進行壓縮
gzip on;
#設置壓縮等級,範圍1~9,數值越大,文件越小。壓縮等級過高的話,對服務器和瀏覽器的性能都有很大影響
gzip_comp_level 1;
#代表gzip http協議的版本
gzip_http_version 1.1;
#設置壓縮類型,默認狀況下只會壓縮text/html
gzip_types text/html image/png image/jpeg

資源壓縮相關模塊

模塊 說明
ngx_http_gzip_module 提供基礎的gzip支持
ngx_http_gzip_static_module 在向客戶端返回常規文件以前,先查找是否存在該常規文件的.gz文件,有的話就直接返回.gz文件
ngx_http_gunzip_module 若是響應內容是gzip的,而瀏覽器不支持的話,能夠經過此模塊在返回給瀏覽器以前進行解壓

ngx_http_gzip_module 是默認編譯到nginx的發行版本里面的,用戶訪問的同時,對文件進行壓縮,耗CPU。
ngx_http_gzip_static_module 須要編譯進去纔能有。提早壓縮,而後用戶訪問的時候,返回已經壓縮好的,耗磁盤空間。html

# always 就是無論瀏覽器支不支持都返回.gz內容,此時最好開啓ngx_http_gunzip_module模塊
gzip_static always;

是否使用gzip,以及使用不一樣的gzip方式,http的響應頭以下:node

  • 未使用 gzip
Accept-Ranges:bytes
Content-Length:75882
  • 使用 gzip on; 的方式
Content-Encoding:gzip
Transfer-Encoding:chunked
  • 使用 gzip_static on; 的方式
Content-Encoding:gzip
Content-Length:65052
相關文章
相關標籤/搜索