2013-12-17 148 views
3

我是linux开发新手。我对我读过的文档有点困惑。 我的最终目标是托管一个简单的python支持的Web服务,用于检查传入的有效负载,并将其转发给其他服务器。这应该少于python中的30行代码。nginx和uwsgi服务器中uwsgi模块的区别

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

nginx documentation提到,

不要与uWSGI服务器混淆uwsgi协议(即讲uwsgi协议)

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

有人可以共享一步一步的配置过程,如何配置ugingi与nginx,以及一个示例Python代码(你好,世界也许)?我可以配置nginx很好,但我不知道如何使它服务于python页面。我能找到的所有文档都包含django。

回答

13

你在混淆东西,所以让我澄清。

Python通过网络服务器发布应用程序的标准方式是WSGI - 你可以把它看作是一个Python本地的CGI。 uWSGI是一个WSGI兼容服务器,它使用uwsgi协议与其他uWSGI实例或上游服务器通信。通常上游服务器是nginxHttpUwsgiModule,它允许它使用uwsgi协议进行通信 - 对于nginx,您的应用服务器有额外的保护层,负载平衡和服务静态文件。在大多数情况下,You Should Be Using Nginx + UWSGI。为了回答你的问题,uWSGI与nginx分开安装和运行,并且它们都需要配置为相互通信。

纯WSGI是相当低级的,所以你可能想要使用符合WSGI的framework。我猜前两名是DjangoFlask

对于hello world烧瓶设置,Serving Flask With Nginx似乎是一个很好的文章。

+0

apache mod_wsgi能否使用uwsgi协议与nginx交谈? @jwalker – deepak

+0

@deepak你回答了你自己的问题:这是针对Apache的。过去有nginx的mod_wsgi,但你真的不希望这样。 – jwalker

+0

其实我的问题是可以在nginx和apache之间使用uwsgi协议@jwalker – deepak