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

13

我是一个新手linux开发者。我对所读的文档有些困惑。 我的最终目标是托管一个简单的python后端Web服务,该服务将检查传入的负载并将其转发到另一个服务器。这应该是不到30行的python代码。

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

nginx文档提到:

不要混淆uwsgi协议与uWSGI服务器(支持uwsgi协议)

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

有人能分享一步一步的配置过程,说明如何使用uwsgi和nginx进行配置,并附带一个样本Python代码(例如Hello World)吗?我可以很好地配置nginx,但我不知道如何使其提供python页面。所有我找到的文档都需要在django上安装。

1个回答

35
你把事情搞混了,让我来澄清一下。
Python发布应用程序到Web服务器的标准方式是WSGI——你可以把它看作是Python的本地CGI。uWSGI是一个符合WSGI标准的服务器,它使用uwsgi协议与其他uWSGI实例或上游服务器进行通信。通常上游服务器是nginx,并且使用HttpUwsgiModule允许通过uwsgi协议进行通信——使用nginx可以为您的应用服务器提供额外的保护层、负载均衡和静态文件服务。在大多数情况下,您应该使用Nginx + UWSGI。回答你的问题,uWSGI是独立于nginx安装和运行的,并且它们都需要进行配置以相互通信。

纯WSGI相当低级,所以您可能希望使用符合WSGI规范的框架。我猜前两个是DjangoFlask

对于一个简单的Flask设置,使用Nginx提供Flask看起来是一篇不错的文章。


Apache的mod_wsgi模块能否使用uWSGI协议与Nginx通信?@jwalker - deepak
@deepak 你自己已经回答了这个问题: 它是用来给Apache使用的。以前也有为nginx准备的mod_wsgi,但你真的不想要那个。 - jwalker
其实我的问题是,uWSGI协议是否可以在nginx和apache之间使用?@jwalker - deepak
@deepak 我不这么认为。你为什么需要那个? - jwalker
你应该使用Nginx + UWSGI已经失效。 - fujianjin6471
1
@fujianjin6471 已修复。 - jwalker

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接