nginx静态服务

Posted 转角90

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx静态服务相关的知识,希望对你有一定的参考价值。

静态资源 web 服务

静态和动态资源

  • 静态资源: 一般客户端发送请求到 web 服务器,web 服务器从内存取到响应的文件,返给客户端,客户端解析并渲染显示出来
  • 动态资源:客户端请求动态资源,先交于 web 服务器,然后连接数据库获取数据,返回客户端

CDN

  • CDN:内容分发网络,Content Delivery Network
  • CDN 系统能够实时根据网络流量和各节点的链接,负载状况以及到用户的距离和响应时间综合信息将用户的请求重新导向离用户最近的服务节点上。目的是使得用户就近获取所需内容,解决 Internet 网络拥堵的状况,提高用户访问网络的响应速度

配置语法

sendfile

不经过用户内核发送文件

Syntax: sendfile on|off;
Default: off;
Content: http,server,locaion,if in location

tcp_nopush

在 sendfile 开启的情况下,合并多个数据包,提高网络包的传输效率

Syntax: tcp_nopush on|off;
Default: off;
Content: http,server,locaion

tcp_nodelay

在 keeplive 连接下,提高网络包的传输实时性

Syntax: tcp_nodelay on|off;
Default: on;
Content: http,server,locaion

gzip

压缩文件可以节约带宽和提高网络传输效率

Syntax: gzip on|off;
Default: off;
Content: http,server,locaion

gzip_comp_level

压缩比率越高,文件被压缩的体积越小 1-9

Syntax: gzip_comp_level level;
Default: 1;
Content: http,server,locaion

gzip_http_version

压缩版本

Syntax: gzip_http_version 1.0/1.1;
Default: 1.1;
Content: http,server,locaion

http_gzip_static_module

静态压缩,先找磁盘上同名的.gz文件,节约 CPU 的压缩时间和性能损耗

Syntax: gzip_static on/off/always;
Default: off;
Content: http,server,locaion
# 需要先加上模块重新编译
cd /usr/local/src/nginx-1.24.0
./configure -with-http_gzip_static_module
make
cd objs/
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
cp nginx /usr/local/nginx/sbin

gzip_min_length

启动压缩的限制条件,如gzip_min_length 1k表示大于 1k 才压缩

gzip_types

针对哪些文档进行压缩,压缩的类型 application/javascript text/css text/xml (无论是否指定)"text/html"类型总是会被压缩的

  • text/xml application/xml application/atom+xml application/rss+xml application/xhtml+xml image/svg+xml
  • text/javascript application/javascript application/x-javascript
  • text/x-json application/json application/x-web-app-manifest+json
  • text/css text/plain text/x-component
  • font/opentype application/x-font-ttf application/vnd.ms-fontobject
  • image/x-icon;

gzip_vary

一般不需要配,给老的浏览器使用。gzip_vary on

gzip_proxied

作为反向代理服务器时,针对上游服务器返回的头信息进行压缩

  • off: 不做限制
  • any - 无条件启用压缩
  • expired - 启用压缩,如果header头中包含 "Expires" 头信息
  • no-cache - 启用压缩,如果header头中包含 "Cache-Control:no-cache" 头信息
  • no-store - 启用压缩,如果header头中包含 "Cache-Control:no-store" 头信息
  • private - 启用压缩,如果header头中包含 "Cache-Control:private" 头信息
  • no_last_modified - 启用压缩,如果header头中不包含 "Last-Modified" 头信息
  • no_etag - 启用压缩 ,如果header头中不包含 "ETag" 头信息
  • auth - 启用压缩 , 如果header头中包含 "Authorization" 头信息

gzip_buffers

缓冲区大小,gzip_buffers 32 4k | 16 8k

gzip_disable

禁止某些浏览器使用gzip,不建议使用正则,消耗性能

ngx_http_gunzip_module

客户端如果不支持gzip,会在发送给客户端是做一层拦截,将gzip解压

添加方式同gzip_static模块

gunzip on;

以上是关于nginx静态服务的主要内容,如果未能解决你的问题,请参考以下文章

Nginx——nginx作为静态资源web服务(静态资源类型)

nginx 配置~~~本身就是一个静态资源的服务器

使用Nginx搭建静态网站

nginx静态资源配置(转发)

Nginx系列之静态服务

nginx重新整理——————静态服务[四]