nginx 中的 uwsgi 模块和 uwsgi 服务器之间的区别

问题描述 投票:0回答:1

我是 Linux 开发新手。我对我读到的文档有点困惑。 我的最终目标是托管一个简单的 python 支持的 Web 服务,该服务将检查传入的有效负载,并将其转发到其他服务器。这应该少于 30 行 Python 代码。

我计划使用 nginx 来提供 python 文件。根据我的研究,我还需要一个 python Web 框架。我选择了uwsgi。我很困惑。我需要哪一个? nginx uwsgi 模块,还是 uwsgi 服务器?我不想仅仅为了这个简单的目的而放置 django。

nginx 文档提到了

不要将 uwsgi 协议与 uWSGI 服务器(使用 uwsgi 协议)混淆

那么,这是否意味着我不需要单独安装uwsgi服务器?我是否只安装 nginx,然后开始配置?我正在使用 nginx 1.4.4

有人可以分享如何使用 nginx 配置 uwsgi 的分步配置过程,以及示例 python 代码(也许是 hello world)吗?我可以很好地配置 nginx,但我不知道如何让它为 python 页面提供服务。我能找到的所有文档都涉及将 django 放在上面。

python django nginx uwsgi
1个回答
35
投票

你把事情搞混了,所以让我澄清一下。

Python 通过 Web 服务器发布应用程序的标准方式是 WSGI——您可以将其视为 Python 的本机 CGI。 uWSGI是一个符合WSGI的服务器,它使用uwsgi协议与其他uWSGI实例或上游服务器进行通信。通常上游服务器是 nginxHttpUwsgiModule,允许它使用 uwsgi 协议进行通信——使用 nginx,你可以为你的应用服务器提供额外的保护层,负载平衡和提供静态文件。在大多数情况下,您应该使用 Nginx + UWSGI。为了回答你的问题,uWSGI 与 nginx 分开安装和运行,并且它们都需要配置为相互通信。

纯 WSGI 相当低级,因此您可能需要使用符合 WSGI 的框架。我猜前两个是 DjangoFlask

对于 hello world Flask 设置,Serving Flask With Nginx 似乎是一篇不错的文章。

© www.soinside.com 2019 - 2024. All rights reserved.