我正在Azure上运行Nginx + Gunicorn + Django。一切似乎运行良好,所有视图都呈现得非常快,但是每2-3周,我对任何视图的所有请求都会收到504超时错误,并且必须重新启动Gunicorn进行修复。
关于增加Nginx和Gunicorn的超时时间,这里有很多建议,但我不认为这是解决方案,因为这不是一个单一的观点。
我注意到该问题有时与网络流量有关(请参阅Azure监视)。例如,当我一次获得一个巨大的网络(如4 GB)的增加时,我开始超时。我查看了我的Nginx配置文件并注意到了这一点:
client_max_body_size 4G;
所以我将其更改为:
client_max_body_size 30m;
我的应用有时需要处理文档和大图像的上载,因此我认为30 MB是一个不错的限制。
该问题尚未再次发生,但是我无法确定我是否确实解决了该问题。我应该看看为什么还有其他可能性会发生此问题?