带有蓝图的烧瓶应用程序+;uWSGI&x2B;nginx返回404';s(没有路由?)

带有蓝图的烧瓶应用程序+;uWSGI&x2B;nginx返回404';s(没有路由?),nginx,flask,url-routing,uwsgi,Nginx,Flask,Url Routing,Uwsgi,在使用nginx+uWSGI成功部署了一个minimal Flask应用程序之后,我被这个问题难住了 from flask import Flask from bsfdash.users import users from bsfdash.dashboard import dashboard from bsfdash.customs import customs from bsfdash import app if __name__ == '__main__': app.regis

在使用nginx+uWSGI成功部署了一个minimal Flask应用程序之后,我被这个问题难住了

from flask import Flask
from bsfdash.users import users
from bsfdash.dashboard import dashboard 
from bsfdash.customs import customs
from bsfdash import app 

if __name__ == '__main__':
    app.register_blueprint(users)
    app.register_blueprint(dashboard)
    app.register_blueprint(customs)

    app.run()
为了确认我的nginx和uWSGI设置是正确的,我使用一个简单的“helloworld”Flask应用程序进行了测试,该应用程序带有@app.route('/'),返回“Hi!”——工作正常

但是,上面显示的应用程序使用localhost:5000上的flask web服务器可以正常工作,但在通过uWSGI调用时不会路由@dashboard.route('/')blueprint

我没有发现任何关于部署包含uWSGI蓝图的模块化Flask应用程序的信息


为什么此应用程序作为Flask web服务器工作,但通过uWSGI却变得死气沉沉?

您能给我们更多关于您的应用程序结构的信息吗? 我有一个可以工作的烧瓶应用程序,上面有蓝图,如果可以帮助你的话

App/run.py:

import sys
sys.path.append("/subone")

from iel import app, manager
from flask.ext.migrate import MigrateCommand

manager.add_command('db', MigrateCommand)

app.debug = True
manager.run()
App/subone/初始化

from flask import Flask
from flask.ext.script import Manager
from subone import models

app = Flask(__name__)
app.config.from_object('settings')

manager = Manager(app)

#Blueprints
from catalog.views import catalog
app.register_blueprint(catalog)

from login.views import login
app.register_blueprint(login,url_prefix="/login")

if __name__ == '__main__':
  app.run(debug=True)
App/subone/catalog/\uuuuu init\uuuuu.py:

from flask import Blueprint

但是当
uwsgi
导入
app
时,它不会运行
\uuuu main\uuuu
块;也可以移动您的蓝图注册。将这些从
if
测试中移出。谢谢@MartijnPieters将蓝图注册从if测试中移出,现在可以工作了!