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;//一般不用配置
        ...
    }
相关推荐
闲云一鹤14 小时前
nginx 快速入门教程 - 写给前端的你
前端·nginx·前端工程化
碳基沙盒19 小时前
OpenClaw 多 Agent 配置实战指南
运维
Sinclair3 天前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器
Rockbean4 天前
用40行代码搭建自己的无服务器OCR
服务器·python·deepseek
蝎子莱莱爱打怪4 天前
Centos7中一键安装K8s集群以及Rancher安装记录
运维·后端·kubernetes
茶杯梦轩4 天前
CompletableFuture 在 项目实战 中 创建异步任务 的核心优势及使用场景
服务器·后端·面试
何中应4 天前
Nginx转发请求错误
前端·后端·nginx
海天鹰4 天前
【免费】PHP主机=域名+解析+主机
服务器
DianSan_ERP4 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet