Все работает нормально, когда я запускаю колбу через source venv/bin/activate && python run.py
.
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)
Но когда я запускаю одно и то же приложение с nginx/emperor.uwsgi, каждое попадание на сервер возвращает 500. Если я закомментирую импорт SQLAlchemy, страница загрузится, как и ожидалось.
Per этот поток Я попытался включить ленивое/ленивое приложение, но оно не имеет никакого эффекта. Flask создает исключение, поэтому nginx/uwsgi ничего не записывает.
Я пробовал использовать from werkzeug.debug import DebuggedApplication
, но все же просто получаю абсолютные голые кости "Внутренняя ошибка сервера" в моем браузере.
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
Ничего необычного.
source venv/bin/activate && pip list && deactivate
вывод:
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)
Все обычные подозреваемые присутствуют.
Полностью в темноте на этом, кто-нибудь знает, как отлаживать/обрабатывать это?