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;//一般不用配置
        ...
    }
相关推荐
rainFFrain19 分钟前
单例模式与线程安全
linux·运维·服务器·vscode·单例模式
GalaxyPokemon23 分钟前
Muduo网络库实现 [九] - EventLoopThread模块
linux·服务器·c++
xujiangyan_2 小时前
nginx的反向代理和负载均衡
服务器·网络·nginx
@郭小茶2 小时前
docker-compose方式部署docker项目
运维·docker·容器
GalaxyPokemon2 小时前
Muduo网络库实现 [十] - EventLoopThreadPool模块
linux·服务器·网络·c++
自由鬼2 小时前
开源虚拟化管理平台Proxmox VE部署超融合
linux·运维·服务器·开源·虚拟化·pve
孤独得猿3 小时前
Qt常用控件第一部分
服务器·开发语言·qt
不爱吃鱼的猫-3 小时前
Node.js 安装与配置全攻略:从入门到高效开发
服务器·node.js
斯普信专业组4 小时前
Ceph异地数据同步之-RBD异地同步复制(下)
linux·服务器·ceph
电星托马斯4 小时前
Linux系统CentOS 6.3安装图文详解
linux·运维·服务器·程序人生·centos