xiº*_*xiº 36 python flask gunicorn
我gunicorn --workers 3 wsgi用来运行我的Flask应用程序.如果我将变量更改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')
Run Code Online (Sandbox Code Playgroud)
wsgi.py:
from myproject import myapp
if __name__ == "__main__":
myapp.run()
Run Code Online (Sandbox Code Playgroud)
dav*_*ism 69
Gunicorn(以及大多数WSGI服务器)默认寻找可命名的callable application或者from myproject import myapp as application你指向它的任何模块.只需添加别名application = myapp或wsgi.py让Gunicorn再次发现可调用.
但是,wsgi.py不需要文件或别名,Gunicorn可以直接指向真实模块并且可以调用,甚至可以使用参数调用app工厂.application大多数情况下不需要单独的文件.
gunicorn myproject:myapp --workers 16
# equivalent to "from myproject import myapp as application"
Run Code Online (Sandbox Code Playgroud)
Gunicorn从前面的路径输入":"之后的名称.如果有括号,则使用参数调用名称以获取应用程序.如果不是,则假定该名称是应用程序.
duh*_*ime 15
如果您正在尝试为app内部命名的应用程序提供服务server/cats.py,则可以在端口8000上启动服务器,如下所示:
gunicorn server.cats:app -b 0.0.0.0:8000
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25192 次 |
| 最近记录: |