我们能否仅使用nginx + gunicorn作为Web服务器和WSGI来构建fastapi应用程序,而无需使用uvicorn。我问这是我的应用程序没有低级异步活动的原因。因此,我不需要ASGI(uvicorn)。所以我可以排除使用它,然后继续使用nginx和gunicorn吗?
答案 0 :(得分:2)
所以我可以排除使用它,继续使用Nginx和Gunicorn吗?
简短答案:不,您不能。
稍长的答案:FastAPI的异步功能是可选的,但是,FastAPI基于ASGI规范,并建立在ASGI框架之上,它不是强制您在应用程序中使用协程,但是您将需要运行ASGI HTTP服务器FastAPI。
ASGI和WSGI是完全不同的规范,如果您的应用程序基于ASGI规范,则您的应用程序需要3个基本参数,而这是WSGI中没有的。
作用域:连接范围信息,至少包含一个指定输入协议的类型键的字典
接收:可调用的可调用对象,当有可用时将产生一个新的事件字典
发送:一个等待的可调用对象,它以单个事件字典作为位置参数,一旦发送完成或连接关闭,它将返回