相关疑难解决方法(0)

调试在Gunicorn中运行的Flask应用程序

我一直在使用nginx/gunicorn和Flask为我的应用程序开发一个新的开发平台.

Ops-wise,一切正常 - 我遇到的问题是调试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'
Run Code Online (Sandbox Code Playgroud)

borks-testserver.py的一些Flask代码示例:

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!"
Run Code Online (Sandbox Code Playgroud)

最后,命令在gunicorn运行烧瓶应用程序:

gunicorn -c gunicorn.conf.py testserver:app
Run Code Online (Sandbox Code Playgroud)

谢谢你们

python flask gunicorn

65
推荐指数
3
解决办法
5万
查看次数

第一次运行时的Flask:不要在生产环境中使用开发服务器

我在PyCharm社区版中安装了烧瓶插件,我在烧瓶应用程序中只有这个简单的代码:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def index():
    return '<h1>Hello!</h1>'

if __name__ == "__main__":
    app.run(debug=True)
Run Code Online (Sandbox Code Playgroud)

我得到这个消息:

WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead

* Restarting with stat
* Debugger is active!
* Debugger PIN: 123-456-789
* Running on http://127.0.0.1:5000/
Run Code Online (Sandbox Code Playgroud)

当我来到http://127.0.0.1:5000时,它说:"在服务器上找不到请求的URL.如果你手动输入了URL,请检查你的拼写,然后再试一次."

python flask

32
推荐指数
3
解决办法
4万
查看次数

是否需要WSGI服务器和HTTP服务器来提供Flask应用程序?

使用uWSGI和Nginx设置Flask非常困难,即使使用buildout脚本也需要很长时间,并且必须将其记录到稍后要再现的指令中.

如果我不计划服务器上的大负载(它是公开的隐藏),没有uWSGI运行它是否有意义?(Flask可以收听端口.Nginx可以转发请求吗?)

甚至不使用Nginx,只是在端口上运行裸烧瓶应用程序是否有意义?

python nginx flask uwsgi

22
推荐指数
3
解决办法
1万
查看次数

标签 统计

flask ×3

python ×3

gunicorn ×1

nginx ×1

uwsgi ×1