nginx实战总结-常用配置-05

nginx实战总结-常用配置-05,第1张

一、基本介绍

nginx里面的指令非常多,我这边将我觉得重点的内容抽取出来,跟大家分享
基本指令,参考:链接

二、请求路线

浏览器》》nginx 》》服务端》》其他

  • 我们这边只研究前三个之间的关系
  • 浏览器就称为nginx的下游
  • 服务端就称为nginx的上游
  • 所有的指令都是跟:(浏览器&&nginx||nginx&&服务端)这两套逻辑有关系
    小结:所以下面主要是按照这两个方面,进行对指令的整理
三、上下文
  • http节点:整套nginx只有一个
  • server节点:一个端口一个
  • location节点:在server节点里面,可以无数个
  • 根节点:工作线程、日志等
  • upstream模块:负载均衡相关配置
四、浏览器&&nginx

这个主要说明的是,客户端和nginx之间交互的配置信息

指令作用区域默认值建议值
worker_processes工作进程,业务 *** 作都是它来执行根节点1跟核心数一致即可,比如8个cpu,就设置8
worker_connections单个工作进程可以允许同时建立外部连接的数量根节点102465535(跟open files一致就行)
keepalive_timeout设置keep-alive客户端连接,如果值为0,那就禁用keepalivehttp, server, location75keepalive_timeout 300
keepalive_requests用于设置一个keep-alive连接上可以服务的请求的最大数量,当最大请求数量达到时,连接被关闭;因为keepalive_requests设置比较小,高并发下超过此值后nginx会强制关闭和客户端保持的keepalive长连接,关闭连接后导致Nginx出现TIME_WAIThttp, server, location100010000
keepalive配置使用上面两个参数,并且统一放到http中,keepalive我会单独写一篇,进行细致说明httphttp {keepalive_timeout 120s;keepalive_requests 10000;}
proxy_read_timeout等参数504错误的相关参数链接
fastcgi_read_timeout等参数504错误的相关参数链接
五、nginx&&服务端

这个主要说明的是,nginx和服务端之间交互的配置信息

指令作用区域默认值建议值
长连接tcp接口复用upstream+locationupstream中配置:keepalive 300;location 中配置: proxy_http_version 1.1; proxy_set_header Connection “”;
client_header_buffer_size请求包体大小http, server1k4k
large_client_header_buffers也是请求包体,如果请求包体超过上面的那个参数,那就会启用这个参数,如果值再超过这个参数, 就会报414错误http,server32k128k
client_max_body_size请求体,跟上传功能有关系,如果 *** 作这个值,就会报413错误http, server, location1m1000m
client_body_timeout定义读取客户端请求正文的超时。超时只在两次连续读取 *** 作之间设置一段时间,不用于整个请求正文的传输。如果客户机在这段时间内没有发送任何内容,则请求将以408(请求超时)错误终止。http, server, location60s
send_timeout客户端响应时间http, server, location60s
缓冲区家族proxy_buffer_size 4k;proxy_buffering on;proxy_buffers 4 4k;proxy_busy_buffers_size 8k;proxy_max_temp_file_size 1024m;这边缓冲区比较复杂,下面单说
缓冲区说明

重点:
1、这个是针对一个每一个http请求的上限,而不是整个buffer区域指定的上限
2、

  • proxy_buffering on;在 proxy_buffering 开启的时候,proxy_buffers 和 proxy_busy_buffers_size 才会起作用。
  • proxy_buffers 4 4k; 指定一个 request 的 buffer 的数量和大小 默认值64k
  • proxy_busy_buffers_size 8k;忙的时候,读取和响应一并来,会将响应数据存储到这里,进行给客户端,其实就是proxy_buffer_size 的加大版
  • proxy_max_temp_file_size 1024m; 默认值1024m,请求响应没得存储,就先放到这个临时文件中,如果超过这个值,那就直接通讯,没到缓存
  • proxy_buffer_size 4k;指定后端 response 的 buffer 的大小,它是来自后端 response 的一部分,它包含 Headers,从 response 分离出来。它仅用于限定 headers 的 buffer 区,所以它的值比 proxy_buffers 更低,有一点特殊在于,无论 proxy_buffering 是否开启,proxy_buffer_size 都会起作用。默认值8k
总结:

后续有遇到重要的参数,我会再扩展

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/720348.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-25
下一篇 2022-04-25

发表评论

登录后才能评论

评论列表(0条)

保存