nginx + uwsgi 502 错误 网关问题 python

3 投票
3 回答
6451 浏览
提问于 2025-04-17 03:26

我在用Python运行一个脚本,处理起来很慢。问题是如果这个函数运行时间太长,我想nginx的配置里有个超时时间,这会导致一些错误,并且让这个函数无法完全运行。

我只是想知道在哪里可以增加这个超时时间的值。因为我在nginx的配置文件里试过一些命令,比如:

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

但这些都没有用。

谢谢!

3 个回答

0

我试过了上面回答里说的所有方法,还有其他地方的建议,但都没用。

我的解决办法是修改了uwsgi.conf和nginx.conf文件里的socket设置。

0

我在使用NGIX和uWSGI配置的时候也遇到了“坏网关”错误。为了帮助那些在网上搜索这个问题的人:可能是因为缺少了uWSGI的Python插件。你可以看看这个链接:uWSGI配置问题:uWSGI没有任何错误信息就失败了。

1

单纯地延长超时时间的问题在于,不管你把时间设置得多长,最终还是会遇到某些限制。这些限制可能来自于网络服务器、浏览器或者你的地理编码请求。如果在一次请求中经常出现失败的情况,那你就无法保证一定能成功。

与其让客户端的请求在一个长时间运行的过程中挂起(这样还可能导致服务器超时),不如使用像celery这样的工具来处理这些地理编码任务。在客户端,你可以通过JavaScript提交请求,并使用ajax不断向服务器询问结果,直到收到回复为止。

撰写回答