我们能否仅使用nginx+;gunicorn作为web服务器和WSGI而不使用uvicorn?

我们能否仅使用nginx+;gunicorn作为web服务器和WSGI而不使用uvicorn?,nginx,gunicorn,fastapi,uvicorn,Nginx,Gunicorn,Fastapi,Uvicorn,我们可以只使用nginx+gunicorn作为web服务器和WSGI构建一个fastapi应用程序,而不使用uvicorn吗。我问这个问题的原因是我的应用程序没有低级异步活动。所以我不需要ASGI(uvicorn)。那么,我可以不使用它而继续使用nginx和gunicorn吗 那么,我可以不使用它而继续使用Nginx和gunicorn吗? 简短回答:不,你不能。 回答稍微长一点:FastAPI的异步功能是可选的,但是,FastAPI是基于ASGI规范并构建在ASGI框架之上的,它不会强迫您在应用

我们可以只使用nginx+gunicorn作为web服务器和WSGI构建一个fastapi应用程序,而不使用uvicorn吗。我问这个问题的原因是我的应用程序没有低级异步活动。所以我不需要ASGI(uvicorn)。那么,我可以不使用它而继续使用nginx和gunicorn吗

那么,我可以不使用它而继续使用Nginx和gunicorn吗? 简短回答:不,你不能。

回答稍微长一点:FastAPI的异步功能是可选的,但是,FastAPI是基于ASGI规范并构建在ASGI框架之上的,它不会强迫您在应用程序中使用协同路由,但是您需要ASGI HTTP服务器来运行FastAPI

为什么? ASGI和WSGI是完全不同的规范,如果您的应用程序基于ASGI规范,那么您的应用程序需要3个基本参数,这是我们在WSGI中没有的

范围:连接范围信息,至少包含指定传入协议的类型密钥的字典

receive:一个可等待的callable,当一个事件字典可用时,它将生成一个新的事件字典

send:一个可等待的可调用函数,将单个事件字典作为位置参数,在发送完成或连接关闭后返回