客户端发送请求通过Nginx代理访问服务器的静态资源
- 静态资源的类型 非服务器动态运行生成的文件
类型 | 种类 |
---|---|
浏览器端渲染 | HTML CSS JS |
图片 | JPEG GIF PNG |
视频 | FLV MGEG |
文件 | TXT 等任意下载文件 |
相关配置:
- 文件读取
Syntax: sendfile on | off;
Default: sendfile off;
Context: http, server, location, if in location
- tcp_nopush
Syntax: tcp_nopush on | off;
Default: tcp_nopush off;
Context: http, server, location
作用:在sendfile开启的情况下,提高网络传输效率(多个数据包一起发送,延迟响应)
- tcp_nodelay
Syntax: tcp_nodelay on | off;
Default: tcp_nodelay on;
Context: http, server, location
作用:在keeplive连接下,提高网络包传输的实时性
- 压缩传输
Syntax: gzip on | off;
Default: gzip off;
Context: http, server, location, if in location
- 压缩等级 1-9
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压缩模块 ngx_http_gzip_static_module
Syntax: gzip_static on | off | always;
Default: gzip_static off;
Context: http, server, location
这个模块是nginx的预读模块,打开这个模块,允许向客户端发送提前压缩好的文件,而不需要客户端添加扩展文件名.gz
。比如:原始文件 user.csv
,gzip命令压缩之后的文件是user.csv.gz
,如果gzip_static off
,客户端请求 .../user.csv
和 .../user.csv.gz
分别访问的服务器的资源是 user.csv
和 user.csv.gz
,但是为了减少网络流量的传输,且用户一般不喜欢添加扩展的压缩文件后缀,所以打开模块 gzip_static on
,客户端请求 .../user.csv
,nginx会优先查找文件名加上扩展后缀.gz
的压缩文件,如果有则返回 user.csv.gz
,如果没有则返回文件user.csv
。