nginx.conf 请求时间部分参数说明新手教程

下面来说下nginx.conf 的部分参数,配置如下:

php 复制代码
http {
    include       mime.types;

    default_type  application/octet-stream;
    client_max_body_size 1000M;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  60;# 连接超时时间
    send_timeout 60; # 指定 Nginx 向客户端发送响应数据的时间限制。一旦超时,连接将被视为断开。默认为 60s。
    #test start
    fastcgi_connect_timeout 300;# 连接超时时间
    fastcgi_send_timeout 300;# 发送超时时间
    fastcgi_read_timeout 300;# 读取超时时间
    fastcgi_buffer_size 64k;
    fastcgi_buffers 4 64k;
    fastcgi_busy_buffers_size 128k;
    fastcgi_temp_file_write_size 256k;
    fastcgi_intercept_errors on;
    #test end
    #gzip  on;

1、proxy_connect_timeout

php 复制代码
proxy_connect_timeout 5s;

proxy_connect_timeout指定与代理服务器的连接超时时间,包括TCP连接的建立和SOCKET连接的时间。在默认情况下,Nginx没有设置此选项,因此连接时间不会超时。当 Nginx 作为反向代理时,设置与上游服务器建立连接的超时时间。超时后,Nginx 将停止尝试连接。

2、proxy_send_timeout

php 复制代码
proxy_send_timeout 10s;

proxy_send_timeout指定向后端服务器发送请求的超时时间,包括发送请求头和请求体的时间。如果后端服务器不能在此时间内响应,则代理服务器会返回504错误;控制 Nginx 从上游服务器读取数据和发送数据到上游的超时时间。前者控制写入数据的超时,后者则是读取数据的超时。

3、proxy_read_timeout

php 复制代码
proxy_read_timeout 10s;

proxy_read_timeout指定代理服务器接收响应的超时时间。如果后端服务器不能在这个时间内返回响应,则Nginx会关闭连接,同时返回一个504 Gateway Time-out错误;控制 Nginx 从上游服务器读取数据和发送数据到上游的超时时间。前者控制写入数据的超时,后者则是读取数据的超时。

4、fastcgi_connect_timeout

php 复制代码
fastcgi_connect_timeout 5s;

fastcgi_connect_timeout指定与FastCGI应用程序的连接超时时间,与proxy_connect_timeout具有相同的语法和功能。

5、fastcgi_send_timeout

php 复制代码
fastcgi_send_timeout 10s;

fastcgi_send_timeout指定向FastCGI服务器发送请求的超时时间,与proxy_send_timeout具有相同的语法和功能。

6、fastcgi_read_timeout

php 复制代码
fastcgi_read_timeout 10s;

fastcgi_read_timeout指定FastCGI服务器响应的超时时间,与proxy_read_timeout具有相同的语法和功能。

7、keepalive_timeout

php 复制代码
keepalive_timeout 30s;

设定空闲 TCP 连接的保持时间。在最后一个请求完成后的这段时间内,连接不会关闭,可用于处理后续请求。这对于 HTTP/1.1 keep-alive 连接尤为重要。

8、keepalive_requests

php 复制代码
keepalive_requests 100;

keepalive_requests指定每个Keepalive连接的最大请求次数。如果超过此数量,则连接会被关闭

9、client_max_body_size

php 复制代码
client_max_body_size 100M;

默认 1M,表示客户端请求服务器最大允许大小,若超过所设定的大小,返回413错误。

10、client_body_buffer_size

php 复制代码
client_body_buffer_size 10k;

Nginx分配给请求数据的Buffer大小,如果请求的数据小于client_body_buffer_size直接将数据先在内存中存储。如果请求的值大于client_body_buffer_size小于client_max_body_size,就会将数据先存储到临时文件中;定义客户端请求主体的最大大小。超过该值的请求会被拒绝。这对于防止 DoS 攻击或内存溢出很有帮助。

11、client_header_timeout

php 复制代码
client_header_timeout 10s;

读取请求头的超时时间,若超过所设定的大小,返回408错误。

12、client_body_timeout

php 复制代码
client_body_timeout 12;

读取请求实体的超时时间,若超过所设定的大小,返回413错误

13、tcp_nodelay

php 复制代码
tcp_nodelay on;

设置为 on 可禁用 Nagle 算法,减少延迟,适合交互性强的服务。但会增加小包的数量,可能增加带宽使用。

14、后端服务器处理请求的时间设置

php 复制代码
	location / {
        ...
        proxy_connect_timeout 60; # 秒,后端服务器连接的超时时间_发起握手等候响应超时时间
        proxy_read_timeout 150;  # 秒,等候后端服务器响应时间_也可以说是后端服务器处理请求的时间
        proxy_send_timeout 69;  # 秒,后端服务器数据回传时间_就是在规定时间之内后端服务器必须传完所有的数据
        tcp_nodelay on;//一般不用配置
        ...
    }
相关推荐
AC赳赳老秦22 分钟前
OpenClaw email技能:批量发送邮件、自动回复,高效处理工作邮件
运维·人工智能·python·django·自动化·deepseek·openclaw
海的透彻24 分钟前
docker容器进程探究
运维·docker·容器
大强同学30 分钟前
Obsidian 日记:从模板到 Dataview 自动化
运维·自动化
陌陌卡上33 分钟前
我在 Debian 11 上把 K8s 单机搭起来了,过程没你想的那么顺(/opt 目录版)
运维·k8s·系统·debian11
kcuwu.1 小时前
从0到1:VMware搭建CentOS并通过FinalShell玩转Linux命令
linux·运维·centos
格林威2 小时前
AI视觉检测:INT8 量化对工业视觉检测精度的影响
linux·运维·人工智能·数码相机·计算机视觉·视觉检测·工业相机
万山寒2 小时前
linux日志查询,查找某个关键词后面的内容
linux·运维·服务器
房开民2 小时前
ubuntu中安装claude code
linux·运维·ubuntu
Bert.Cai2 小时前
Linux mv命令详解
linux·运维
云捷配低代码2 小时前
低代码库存管理系统实战:实现库存预警、出入库自动化管理
运维·低代码·自动化·数字化·敏捷流程·数字化转型