我正在运行一个带有 mod_wsgi 的 django 应用程序,并使用 nginx 进行代理。我的一个视图需要 2 多分钟才能完成。当我访问它时,我收到 504 网关超时。是否有可以更改的设置来增加超时所需的时间?我在 nginx 中尝试过 proxy_connect_timeout、proxy_read_timeout 和 proxy_send_timeout,但没有任何效果。
谢谢。
答案1
您是否检查过该指令?
uwsgi_connect_timeout
来源:http://wiki.nginx.org/HttpUwsgiModule
由于 Apache 是 Nginx 和 WSGI 应用程序之间的中介,因此可能无法正常工作。您可能能够像 Sameer 提到的那样增加 Nginx 中的正常代理超时,并在 Apache 中找到 WSGI 的等效配置选项。
答案2
修改nginx配置,增加proxy_read_timeout值。
“此指令设置代理服务器响应的读取超时时间,默认以秒为单位。它决定了 nginx 等待获取请求响应的时间。超时时间不是针对整个响应设定的,而是仅在两次读取操作之间设定的。”——Nginx 文档