我一直在为我的应用程序使用nginx / gunicorn和Flask开发新的开发平台。
运维方面,一切正常-我遇到的问题是调试Flask层。当我的代码中有错误时,我只是直接向浏览器返回了500错误,而控制台或日志中没有任何显示。
我已经尝试了许多不同的配置/选项。我想我肯定缺少明显的东西。
我的gunicorn.conf:
import os bind = '127.0.0.1:8002' workers = 3 backlog = 2048 worker_class = "sync" debug = True proc_name = 'gunicorn.proc' pidfile = '/tmp/gunicorn.pid' logfile = '/var/log/gunicorn/debug.log' loglevel = 'debug'
乏味的一些Flask代码示例-testserver.py:
from flask import Flask from flask import render_template_string from werkzeug.contrib.fixers import ProxyFix app = Flask(__name__) @app.route('/') def index(): n = 1/0 return "DIV/0 worked!"
最后,在gunicorn中运行flask应用程序的命令:
gunicorn -c gunicorn.conf.py testserver:app
谢谢你们
Flask配置与gunicorn完全不同。按照Flask关于配置文件的文档,一个好的解决方案是将我的源代码更改为:
app = Flask(__name__) app.config.from_pyfile('config.py')
并在config.py中:
DEBUG = True