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;//一般不用配置
        ...
    }
相关推荐
Leinwin3 小时前
OpenClaw 多 Agent 协作框架的并发限制与企业化规避方案痛点直击
java·运维·数据库
2401_865382503 小时前
信息化项目运维与运营的区别
运维·运营·信息化项目·政务信息化
漠北的哈士奇3 小时前
VMware Workstation导入ova文件时出现闪退但是没有报错信息
运维·vmware·虚拟机·闪退·ova
如意.7593 小时前
【Linux开发工具实战】Git、GDB与CGDB从入门到精通
linux·运维·git
运维小欣3 小时前
智能体选型实战指南
运维·人工智能
yy55274 小时前
Nginx 性能优化与监控
运维·nginx·性能优化
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ4 小时前
Linux 查询某进程文件所在路径 命令
linux·运维·服务器
05大叔6 小时前
网络基础知识 域名,JSON格式,AI基础
运维·服务器·网络
安当加密6 小时前
无需改 PAM!轻量级 RADIUS + ASP身份认证系统 实现 Linux 登录双因子认证
linux·运维·服务器
dashizhi20156 小时前
服务器共享禁止保存到本地磁盘、共享文件禁止另存为本地磁盘、移动硬盘等
运维·网络·stm32·安全·电脑