nginx + uwsgi 502 Bad Gateway python

时间:2011-09-30 14:27:39

标签: python nginx uwsgi

我在python中运行脚本并且需要很长时间才能处理。问题是如果函数需要很长时间才能运行,我想nginx在配置中有一个超时,可以防止某些错误,并阻止函数完全运行。

我只是想知道我可以增加超时的值。因为我在nginx的文件conf中尝试了一些命令,例如:

uwsgi_connect_timeout 75;
uwsgi_send_timeout 75;
uwsgi_read_timeout 75;
keepalive_timeout 650;

但这一切都没有效果。

事先提出

3 个答案:

答案 0 :(得分:1)

仅延长超时的问题在于,无论您将其设置为多长时间,您都会遇到限制。使用Web服务器,浏览器或地理编码调用。如果在请求中经常失败n次,那么你就无法做出任何保证。

因此,不是让客户端请求挂起在长时间运行的进程上(并且通过扩展冒着服务器超时的风险),为什么不使用像celery这样的东西来运行那些地理编码任务,而不是在客户端,通过javascript提交客户端请求,并通过ajax轮询服务器以获得答案,直到得到回复为止?

答案 1 :(得分:0)

我在NGIX + uWSGI配置中也有错误的网关错误,并且为了谷歌这个问题的人:它可能缺少uwsgi python插件。请参阅:uWSGI configuration issue: uwsgi fails without any error message.

答案 2 :(得分:0)

我尝试了上述回复中所写的所有内容以及其他地方,但它们没有用。

我的解决方案是在uwsgi.conf和nginx.conf文件中更改我的套接字。