广州手机网站定制如何,如何用域名进网站,wordpress 钩子的好处,视频网站开发问题场景描述
Nginx uwsgi flask Flask框架写的程序#xff0c;使用uwsgi启动#xff0c;Nginx作为反向代理调用Flask应用。 Flask应用有些操作时间比较长#xff0c;会超过1分钟#xff0c;在网页端访问会出现错误: 502 bad gateway。 Nginx的错误日志中会出现错误#xf…场景描述
Nginx uwsgi flask Flask框架写的程序使用uwsgi启动Nginx作为反向代理调用Flask应用。 Flask应用有些操作时间比较长会超过1分钟在网页端访问会出现错误: 502 bad gateway。 Nginx的错误日志中会出现错误upstream prematurely closed connection while reading response header from upstream
错误分析
经过网上仔细搜索产生这种错误的原因Nginx在从Flask中获得相应数据时出现了错误链接被关闭导致的也就是Nginx从Flask获得数据时没有获得正常的返回结果链接被中断了。
解决方法
修改uwsgi的配置参数增加下面代码
http-timeout300
socket-timeout300上面两个超时的默认值都是60秒修改成300秒后问题解决。真正的原因是Nginx调用uwsgi时uwsgi默认60秒超时到了60秒后uwsgi将链接断开了Nginx就产生了错误502 bad gateway。 这两个超时的含义不一样为了能起到作用两个都加上了大家可以从网上搜索两个参数的区别。
其他注意
产生类似错误很可能有其他超时参数例如Nginx的参数 proxy_connect_timeout 300;proxy_read_timeout 300;proxy_send_timeout 300;上面的参数默认值都是60对于需要长时间的操作都需要修改这些参数。
webouse 在此记录解决方法方便以后查阅。