我用gunicorn --workers 3 wsgi
运行我的烧瓶应用程序。如果我将变量application
更改为myapp
,Gunicorn将给出错误AppImportError: Failed to find application: 'wsgi'
。为什么我会得到这个错误,我该如何修复它?
myproject.py
:
from flask import Flask
myapp = Flask(__name__)
@myapp.route("/")
def hello():
return 'Test!'
if __name__ == "__main__":
myapp.run(host='0.0.0.0')
wsgi.py
:
from myproject import myapp
if __name__ == "__main__":
myapp.run()
如果您试图在
server/cats.py
内提供变量名为app
的应用程序,则可以在端口8000上启动服务器,如下所示:Gunicorn(和大多数WSGI服务器)默认在您指向的任何模块中查找名为
application
的可调用。添加别名from myproject import myapp as application
或application = myapp
将使Gunicorn再次发现可调用的。但是,不需要
wsgi.py
文件或别名,Gunicorn可以直接指向真正的模块并可调用。Gunicorn还可以调用应用程序工厂(可选带有参数)来获取应用程序对象。(这在Gunicorn 20中暂时不起作用,但在20.0.1中是added back。)
对于不支持调用工厂的WSGI服务器或其他更复杂的导入,需要一个
wsgi.py
文件来完成设置。相关问题 更多 >
编程相关推荐