我正在运行Django, FastCGI和Nginx。我正在创建一个api的种类,在那里有人可以通过XML发送一些数据,我将处理,然后返回一些状态码的每个节点被发送过来。
问题是Nginx会抛出一个504网关超时,如果我花了太长时间来处理XML——我认为超过60秒。
所以我想设置Nginx,如果任何匹配位置/api的请求都不会超时120秒。什么样的设定才能实现这一点呢?
到目前为止,我有:
# Handles all api calls
location ^~ /api/ {
proxy_read_timeout 120;
proxy_connect_timeout 120;
fastcgi_pass 127.0.0.1:8080;
}
编辑:我有什么是不工作:)
在http nginx section (/etc/nginx/nginx.conf)中添加或修改:
keepalive_timeout 300s
在服务器nginx部分(/etc/nginx/sites-available/your-config-file.com)添加这些行:
client_max_body_size 50M;
fastcgi_buffers 8 1600k;
fastcgi_buffer_size 3200k;
fastcgi_connect_timeout 300s;
fastcgi_send_timeout 300s;
fastcgi_read_timeout 300s;
在php文件中127.0.0.1:9000 (/etc/php/7.X/fpm/pool.d/www.conf)修改:
request_terminate_timeout = 300
希望能帮到你。
在http nginx section (/etc/nginx/nginx.conf)中添加或修改:
keepalive_timeout 300s
在服务器nginx部分(/etc/nginx/sites-available/your-config-file.com)添加这些行:
client_max_body_size 50M;
fastcgi_buffers 8 1600k;
fastcgi_buffer_size 3200k;
fastcgi_connect_timeout 300s;
fastcgi_send_timeout 300s;
fastcgi_read_timeout 300s;
在php文件中127.0.0.1:9000 (/etc/php/7.X/fpm/pool.d/www.conf)修改:
request_terminate_timeout = 300
希望能帮到你。