Nginx静态资源web服务

108 阅读1分钟

客户端发送请求通过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.csvuser.csv.gz ,但是为了减少网络流量的传输,且用户一般不喜欢添加扩展的压缩文件后缀,所以打开模块 gzip_static on,客户端请求 .../user.csv ,nginx会优先查找文件名加上扩展后缀.gz的压缩文件,如果有则返回 user.csv.gz ,如果没有则返回文件user.csv