Nginx處理靜態資源的核心配置

環境 :
CentOS7
Nginx 1.16.0


  1. 配置文件讀取
Syntax: sendfile on | off;
Default: sendfile off;
Context: http, server, location, if in location;

sendfile的原理用這張圖解釋:
在這裏插入圖片描述
減少了傳統網絡傳輸中多次的上下文切換, 對於靜態文件傳輸能夠極大提升性能。
aio : 異步io讀取


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;

允許了小包的發送, 啓用即意味着禁用了Nagle算法(Nagle算法就是爲了儘可能發送大塊數據,避免網絡中充斥着許多小數據塊)


  1. 壓縮
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;

壓縮比例越高, 花費的時間和資源也越多。

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

擴展Nginx壓縮模塊

http_gzip_static_module ——預讀gzip功能
即, 發送資源時, 優先尋找已壓縮的文件,而不是立即壓縮

http_gunzip_module ——使應用支持gunzip壓縮方式


配置如下:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章