she*_*ats 199 configuration fastcgi nginx
我正在运行Django,FastCGI和Nginx.我正在创建一种各种各样的api,有人可以通过XML发送一些我将处理的数据,然后为每个发送过的节点返回一些状态代码.
问题是如果我花费太长时间来处理XML,Nginx会抛出504网关超时 - 我认为超过60秒.
所以我想设置Nginx,以便任何匹配location/api的请求不会超时120秒.什么设置将实现这一目标.
到目前为止我所拥有的是:
    # Handles all api calls
    location ^~ /api/ {
        proxy_read_timeout 120;
        proxy_connect_timeout 120;
        fastcgi_pass 127.0.0.1:8080;
    }
编辑:我有什么不工作:)
zgo*_*oda 243
对于代理而言,代理超时很好,而不是FastCGI ...
影响FastCGI超时的指令是client_header_timeout,client_body_timeout和send_timeout.
编辑:考虑到在nginx wiki上发现了什么,send_timeout指令负责设置响应的一般超时(这有点误导).对于FastCGI fastcgi_read_timeout,会影响fastcgi进程响应超时.
HTH.
Abd*_*bdo 23
对于那些使用nginx与unicorn和rails的人来说,很可能超时在你的unicorn.rb文件中
在unicorn.rb中放了一个大的超时
timeout 500
如果您仍然遇到问题,请尝试在nginx的上游使用fail_timeout = 0,看看这是否可以解决您的问题.这是出于调试目的,在生产环境中可能很危险.
upstream foo_server {
        server 127.0.0.1:3000 fail_timeout=0;
}
在httpnginx 部分(/etc/nginx/nginx.conf)添加或修改:
keepalive_timeout 300s
在servernginx 部分 (/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
我希望对你有帮助。
| 归档时间: | 
 | 
| 查看次数: | 206985 次 | 
| 最近记录: |