一,为什么要做连接超时设置?

nginx在保持着与客户端的连接时,要消耗cpu/内存/网络等资源,

如果能在超出一定时间后自动断开连接,

则可以及时释放资源,起到优化性能、提高效率的作用

说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

对应的源码可以访问这里获取: https://github.com/liuhongdi/

说明:作者:刘宏缔 邮箱: 371125307@qq.com

二,keepalive的超时时长:keepalive_timeout

1,keepalive的作用:

HTTP 的 KeepAlive 模式:

webserver 在处理完一个请求后保持这个 TCP 连接的状态仍然是打开。

如果再次接收到来自此客户端的其它请求,

服务端会使用这个未关闭的连接,而不是再新建一个连接

2,keepalive的配置:

keepalive_timeout  60 45;

两个参数分别是:

nginx服务的超时时间(默认值是75s,建议设置为60秒)

nginx在给浏览器的响应header信息中的超时时间

注意,第二个参数设置之后才会在浏览器端出现keepalive一项:

如图:

3,nginx给header的超时信息并不是肯定会得到浏览器的执行

4,keepalive_timeout的值应该大于client_body_timeout

三,客户端header的超时时长:client_header_timeout

client_header_timeout         15s;

默认值是60s

客户端向服务端发送一个完整的 request header 的超时时间

如果60s内没有收到完整的http request header,则为超时

如果客户端超时,Nginx 返回 HTTP 408(Request Timed Out)。

四,客户端body的超时时长:client_body_timeout

client_body_timeout            15s;

默认值是60s

客户端向服务端发送 request body 的超时时间

如果连续的60s内没有收到客户端的1个字节,则表示超时

如果客户端超时,Nginx 返回 HTTP 408(Request Timed Out)。

五,向客户端发送数据超时时长:send_timeout

send_timeout                  15s;

默认值是60s

send_timeout 指定客户端的响应超时时间。

这个设置指的是在这段时间内,客户端没有读取任何数据,nginx就会关闭连接.

六,如果有大文件上传时需配置哪个指定?

有大文件上传时,需要指定body的最大值

client_max_body_size          50m;

这个指定的默认值是1M,基本上不可能满足使用需求

如果需要上传较大的文件,在这里指定一个最大值

这里指定文件最大是50MB

七,查看nginx的版本:

[root@centos8 conf.d]# /usr/local/soft/nginx-1.18.0/sbin/nginx -v
nginx version: nginx/1.18.0

nginx优化: timeout超时配置的更多相关文章

  1. nginx中的超时配置

    nginx.conf配置文件中timeout超时时间设置 client_header_timeout 语法 client_header_timeout time默认值 60s上下文 http serv ...

  2. Nginx服务优化及优化深入(配置网页缓存时间、日志切割、防盗链等等)

    原文:https://blog.51cto.com/11134648/2134389 默认的Nginx安装参数只能提供最基本的服务,还需要调整如网页缓存时间.连接超时.网页压缩等相应参数,才能发挥出服 ...

  3. Nginx服务器性能优化与安全配置实践指南

    转载自:https://www.bilibili.com/read/cv16151784?spm_id_from=333.999.0.0 1.引言 1.1 目的 为了更好的指导部署与测试艺术升系统ng ...

  4. nginx反向代理的配置优化

    作者:守住每一天 blog:liuyu.blog.51cto.combbs:bbs.linuxtone.orgmsn:liuyubj520#hotmail.comemail:liuyu105#gmai ...

  5. Nginx超时配置

    Nginx超时配置 1.client_header_timeout 语法client_header_timeout time 默认值60s 上下文http server 说明 指定等待client发送 ...

  6. timeout超时时长优化和hystrix dashboard可视化分布式系统

    在生产环境中部署一个短路器,一开始需要将一些关键配置设置的大一些,比如timeout超时时长,线程池大小,或信号量容量 然后逐渐优化这些配置,直到在一个生产系统中运作良好 (1)一开始先不要设置tim ...

  7. CentOS6.5 Nginx优化编译配置[续]

    继续上文CentOS6.5 Nginx优化编译配置本文记录有关Nginx系统环境的一些细节设置,有关Nginx性能调整除了配置文件吻合服务器硬件之前就是关闭不必要的服务.磁盘操作.文件描述符.内核调整 ...

  8. [效果不错] nginx 高并发参数配置及linux内核参数优化,完整的内核优化设置。PHP-FPM高负载解决办法。

    背景:对vps小资源的实践中对,https://justwinit.cn/post/7536/ 的再优化,再实践,再优化,特别是Nginx,PHP,内核: 零)Nginx: error_log /da ...

  9. nginx优化配置大全

    由于面试被问到nginx优化做过哪些 后来发现,其实做过的也不少,忘了的更不少,因此写个博客记录一下(里面有一些内容来源于其他作者). 配置文件样例为生产环境样例. 1.nginx基本优化 安装方式有 ...

随机推荐

  1. three.js学习3_相机相关

    Three.Camera Camera是所有相机的抽象基类, 在构建新摄像机时,应始终继承此类. 常见的相机有两种类型: PerspectiveCamera(透视摄像机)或者 Orthographic ...

  2. token认证、JWT

    登录的token操作 #app.models.py :表结构 from django.db import models class User(models.Model): user = models. ...

  3. 5.Scalal语法03 - 函数

  4. 相同宿主机下的dcoker之间通信

    相同宿主机下的dcoker之间通信 docker docker的本质是进程,隔离的资源包括:网卡.回环设备.路由表和 iptables 规则,这些要素构成了一个进程(docker)发起和响应网络请求的 ...

  5. 常见消息中间件之ActiveMQ

    前言 消息队列是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成.目前消息队列已经逐渐成为企业IT系统内部通信的核心手段,它具有低耦合.可靠投递.广播.流量控 ...

  6. 栈帧的内部结构--动态返回地址(Return Address)

    每个栈帧中包含: 局部变量表(Local Variables) 操作数栈(Opreand Stack) 或表达式栈 动态链接 (Dynamic Linking) (或指向运行时常量的方法引用) 动态返 ...

  7. Java11-ZGC

    Java 11包含一个全新的垃圾收集器--ZGC,它由Oracle开发,承诺在数TB的堆上具有非常低的暂停时间. 在本文中,我们将介绍开发新GC的动机,技术概述以及由ZGC开启的一些可能性. 那么为什 ...

  8. chrome禁止三方cookie,网站登录不了怎么办

    背景 新版chrome(80+)浏览器默认屏蔽所有三方cookie已经不是什么新闻了,具体原因这里不去深究,有大量相关文章介绍,由于目前许多网站都依赖三方cookie,因此该特性的推出还是造成了一些的 ...

  9. python协程(yield、asyncio标准库、gevent第三方)、异步的实现

    引言 同步:不同程序单元为了完成某个任务,在执行过程中需靠某种通信方式以协调一致,称这些程序单元是同步执行的. 例如购物系统中更新商品库存,需要用"行锁"作为通信信号,让不同的更新 ...

  10. 【译】使用 WebView2 将最好的 Web 带到 .NET 桌面应用程序中

    在去年的 Build 大会上,我们引入了 WebView2,这是一个浏览器控件,可以用新的基于 Chrome 的 Microsoft Edge 来呈现 Web 内容(HTML / CSS / Java ...