Nginx中uwsgi_pass和proxy_pass的区别?

Posted

技术标签:

【中文标题】Nginx中uwsgi_pass和proxy_pass的区别?【英文标题】:Difference between uwsgi_pass and proxy_pass in Nginx? 【发布时间】:2016-04-06 09:18:51 【问题描述】:

我在 nginx 后面运行 uWSGI,并且一直在使用 proxy_pass 让 Nginx 访问 uWSGI。切换到uwsgi_pass 有什么好处。如果有,是什么?

【问题讨论】:

Is uwsgi protocol faster than http protocol?的可能重复 【参考方案1】:

uwsgi_pass 使用uwsgi 协议。 proxy_pass 使用普通 HTTP 与 uWSGI 服务器联系。 uWSGI 文档声称该协议更好、更快,并且可以从所有 uWSGI 特殊功能中受益。

有什么真正的好处吗?是的。您可以向 uWSGI 发送信息,您正在发送什么类型的数据以及应该调用什么 uWSGI 插件来生成响应。使用 http (proxy_pass) 你不会得到那个。您可以在uWSGI docs 找到更多信息。

但是,即使没有任何记录在案的使用 uwsgi 协议代替 http 的好处,你也应该尽可能使用 uwsgi 协议,因为 uwsgi 是 uWSGI 服务器的主要协议,它更适合这里。

如果你想使用uwsgi协议,你必须将uWSGI启动脚本中的http-socket参数改为socket

【讨论】:

以上是关于Nginx中uwsgi_pass和proxy_pass的区别?的主要内容,如果未能解决你的问题,请参考以下文章

nginx +uwsgi + django配置

nginx

Nginx集群模块

nginx负载均衡配置

Nginx的配置3

Nginx之upstream和proxy模块使用