1. ホーム
  2. python

Gunicornで動作するFlaskアプリをデバッグする

2023-09-19 02:04:36

質問

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