为什么gunicorn直接解析WSGI?

Why gunicorn parse WSGI directly?

当我们在nginx后面使用gunicorn时,总是需要proxy_pass将请求发给gunicorn。 但是 Nginx 有一个 wsgi 模块,允许它发送 wsgi 请求(uwsgi_pass)到 wsgi 应用服务器,并且 gunicorn 似乎不能直接接受 wsgi 请求,它只接受 HTTP 请求并将其转换为 wsgi 并调用wsgi 应用程序。

gunicorn是否支持直接接受wsgi请求?

如果没有,如果Nginx有一些wsgi env参数需要发送到wsgi应用服务器,我该怎么办?

没有 'wsgi' 协议这样的东西。

WSGI 规范为 Python 定义了程序化 API,而不是套接字协议。

您对什么是名为 'uwsgi' 的套接字协议感到困惑。这与 gunicorn 接受的 HTTP 协议完全不同。

你唯一可以在理解 'uwsgi' 协议的 nginx 后面使用的是 uWSGI 包。

您的选择是使用普通的 HTTP 代理和 gunicorn,或者 uwsgi 代理和 uWSGI。