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;//一般不用配置
        ...
    }
相关推荐
LucDelton7 分钟前
Java 读取无限量文件读取的思路
java·运维·网络
ん贤9 分钟前
nginx语法
nginx
Lw老王要学习20 分钟前
CentOS 7.9达梦数据库安装全流程解析
linux·运维·数据库·centos·达梦
蓝队云计算39 分钟前
蓝队云部署OpenClaw深度指南:避坑、优化与安全配置,从能用做到好用
运维·安全·云计算
Kaede640 分钟前
提示dns服务器未响应,需要做哪些事?
运维·服务器
CRUD酱42 分钟前
CentOS的yum仓库失效问题解决(换镜像源)
linux·运维·服务器·centos
We....1 小时前
鸿蒙与Java跨平台Socket通信实战
java·服务器·tcp/ip·arkts·鸿蒙
zly35001 小时前
VMware vCenter Converter Standalone 转换Linux系统,出现两个磁盘的处理
linux·运维·服务器
珠海西格1 小时前
1MW光伏项目“四可”装置改造:逆变器兼容性评估方法详解
大数据·运维·服务器·云计算·能源
General_G1 小时前
Linux中的信号
linux·运维·服务器