nginx 调整请求超时时间 - zhongguogu/Linux GitHub Wiki

“nginx 504 Gateway Time-out“ nginx 默认的超时时间是60s, 如果请求处理耗时超过60s,就会返回"504: Gateway Timeout" Error.

1.修改配置文件

$ sudo vi /etc/nginx/nginx.conf

2.修改方式

2.1全局修改

Increase Request Timeout in NGINX

If you want to increase request timeout to 300 seconds, then add proxy_read_timeout, proxy_connect_timeout, proxy_send_timeout directives to http or server block

http{
   ...
   proxy_read_timeout 300;
   proxy_connect_timeout 300;
   proxy_send_timeout 300;
   ...
}
In the above case, the request timeout will be increased for all servers in your NGINX configuration file.

2.2修改某个server

If you want to increase request timeout only for a specific server or subdomain, then add proxy_read_timeout, proxy_connect_timeout, proxy_send_timeout directives for its server block.

server{
   ...
   proxy_read_timeout 300;
   proxy_connect_timeout 300;
   proxy_send_timeout 300; 
   ...
}

2.3修改某个location

If you want to increase request timeout only for specific folder or URL, then add proxy_read_timeout, proxy_connect_timeout, proxy_send_timeout directives for that specific location block.

location /upload {
   ...
   proxy_read_timeout 300;
   proxy_connect_timeout 300;
   proxy_send_timeout 300; 
   ...
}

For large values, you can also specify time units such as 1d for 1 day.

3.重启nginx

 sudo nginx -t 测试更新后的配置文件语法是否正确
 sudo service nginx reload #debian/ubuntu
 systemctl restart nginx #redhat/centos

referenced by https://ubiq.co/tech-blog/increase-request-timeout-nginx/