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静态服务的主要内容,如果未能解决你的问题,请参考以下文章