Alles funktioniert gut, wenn ich Kolben über source venv/bin/activate && python run.py
laufen lasse.Flask in uWSGI verursacht 500 Interner Serverfehler nur beim Import von SQLAlchemy
from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello, world!"
if __name__ == "__main__":
app.debug = True
app.run(host='0.0.0.0', port=8080)
Aber wenn ich die gleiche Anwendung mit nginx/emperor.uwsgi laufen dann jeder Treffer auf den Server zurückgibt 500. Wenn ich den SQLAlchemy Import kommentieren Sie dann die Seite geladen wird, wie erwartet.
Per this thread Ich habe versucht, so dass faul/lazy-app, aber es hat keine Wirkung. Flask löst die Ausnahme aus, daher protokolliert nginx/uwsgi nichts.
Ich habe versucht, from werkzeug.debug import DebuggedApplication
zu verwenden, aber immer noch bekommen nur absolute Knochen "Internal Server Error" in meinem Browser.
Config:
[uwsgi]
uid = http
gid = http
socket = /var/run/project.uwsgi.sock
chown-socket = http
chmod-socket = 664
pidfile = /var/run/project.master.pid
master = true
lazy = true
lazy-apps = true
chdir = /srv/http/project
python-path = /srv/http/project
virtualenv = /srv/http/project/venv
module = run
callable = app
plugin = python
home = venv
Nichts Ungewöhnliches.
source venv/bin/activate && pip list && deactivate
Ausgang:
Flask (0.10.1)
Flask-SQLAlchemy (2.0)
itsdangerous (0.24)
Jinja2 (2.7.3)
MarkupSafe (0.23)
pip (6.0.8)
setuptools (12.0.5)
SQLAlchemy (0.9.9)
uWSGI (2.0.9)
Werkzeug (0.10.1)
Alle üblichen Verdächtigen sind vorhanden.
Völlig im Dunkeln auf diesem einen, weiß jemand, wie man das debuggt/handhabt das?
Wer sagt, es ist Flask Anhebung der Barebones 500, und nicht uwsgi? –
Versuchen Sie, SQLAlchemy innerhalb des Handlers zu importieren. –
Wie sieht dein uwsgi-Skript/-Befehl aus? Ich würde vermuten, dass es ein uwsgi Problem ist. – BryceH