我们可以不使用uvicorn而仅使用nginx + gunicorn作为Web服务器和WSGI来构建fastapi应用程序吗?

时间:2020-10-22 05:32:10

标签: nginx gunicorn fastapi uvicorn

我们能否仅使用nginx + gunicorn作为Web服务器和WSGI来构建fastapi应用程序,而无需使用uvicorn。我问这是我的应用程序没有低级异步活动的原因。因此,我不需要ASGI(uvicorn)。所以我可以排除使用它,然后继续使用nginx和gunicorn吗?

1 个答案:

答案 0 :(得分:2)

所以我可以排除使用它,继续使用Nginx和Gunicorn吗?

简短答案:不,您不能。

稍长的答案:FastAPI的异步功能是可选的,但是,FastAPI基于ASGI规范,并建立在ASGI框架之上,它不是强制您在应用程序中使用协程,但是您将需要运行ASGI HTTP服务器FastAPI。

为什么?

ASGI和WSGI是完全不同的规范,如果您的应用程序基于ASGI规范,则您的应用程序需要3个基本参数,而这是WSGI中没有的。

作用域:连接范围信息,至少包含一个指定输入协议的类型键的字典

接收:可调用的可调用对象,当有可用时将产生一个新的事件字典

发送:一个等待的可调用对象,它以单个事件字典作为位置参数,一旦发送完成或连接关闭,它将返回