为什么 gunicorn 直接解析 WSGI?

Mat*_*gao 2 wsgi nginx gunicorn

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

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

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

Gra*_*ton 5

没有像“wsgi”协议这样的东西。

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

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

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

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