$ $ request_time在nginx日志中是nginx中首次收到的请求的时间,直到nginx将响应发送回客户端。
。在我的nginx config中,当$ request_time到60s
时,请求由NGINX关闭,并标记为504 Gateway Timeout我尝试使用以下位置上下文指令:
proxy_connect_timeout 300s;
proxy_send_timeout 300s;
proxy_read_timeout 300s;
send_timeout 300s;
uwsgi_read_timeout 300s;
uwsgi_send_timeout 300s;
,但仍面临同一问题。我缺少一些配置吗?
这是我的nginx.conf
的位置上下文location / {
set $uwsgi_script "wsgi";
set $script_name "/";
set $socket "uwsgi.sock";
#client_max_body_size 1000m;
keepalive_timeout 0;
# host and port to uwsgi server
uwsgi_pass unix:///tmp/$socket;
uwsgi_param UWSGI_SCRIPT $uwsgi_script;
uwsgi_param SCRIPT_NAME $script_name;
proxy_connect_timeout 300s;
proxy_send_timeout 300s;
proxy_read_timeout 300s;
send_timeout 300s;
uwsgi_pass_header Authorization;
include /etc/nginx/uwsgi_params;
#fix redirect issue to proxy port
uwsgi_param SERVER_PORT 80;
#set correct scheme
uwsgi_param UWSGI_SCHEME $http_x_forwarded_proto;
uwsgi_intercept_errors off;
uwsgi_read_timeout 300s;
uwsgi_send_timeout 300s;
}
这不是因为nginx正在计时请求。这是在UWSGI级别的时机。
harakiri
UWSGI的一个功能,该功能逐渐流产为长期服务的工人。使用Harakiri家族配置。每个要求比Harakiri超时中指定的秒数更长的请求将被删除并回收相应的工作。
因此,您需要在UWSGI配置中设置Harakiri参数。有关更多详细信息,请参见下文
uwsgi请求超时在python