小编典典

Flask debug =通过uWSGI时True不起作用

python

我打电话给app.run(debug=True)我的烧瓶文件。

我已经将其与uWSGI和nginx一起部署(我遵循了这些说明

uwsgi -s /tmp/uwsgi.sock -w flask_file_name:app -H /path/to/virtual/env --chmod-socket 666

但是,当我收到错误消息时,在浏览器或uWSGI日志中没有任何调试信息。

有任何想法吗?

flask_file_name.py:

from flask import Flask, make_response, Response, jsonify
import json

app = Flask(__name__)
app.debug = True

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == '__main__':
    app.run()

阅读 262

收藏
2021-01-20

共1个答案

小编典典

根据Flask邮件列表,您不能将Flask的debug选项与一起使用uWSGI,因为它不能在分叉环境中使用。

您会看到502,因为flask / werkzeug没有将任何数据发送到Web服务器,因此nginx将返回502。

您可以在uWSGI中使用–catch-exceptions选项模拟调试器(但请不要在生产环境中使用)

因此,您看到502s的原因就是因为这个。此修复程序是添加--catch-exceptionsuWSGI上执行。

2021-01-20