Flask debug =通过uWSGI时True不起作用
我打电话给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()
-
根据Flask邮件列表,您不能将Flask的debug选项与一起使用
uWSGI
,因为它不能在分叉环境中使用。您会看到502,因为flask / werkzeug没有将任何数据发送到Web服务器,因此nginx将返回502。
您可以在uWSGI中使用–catch-exceptions选项模拟调试器(但请不要在生产环境中使用)
因此,您看到502s的原因就是因为这个。此修复程序是添加
--catch-exceptions
到uWSGI
上执行。