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

时间:2013-12-17 04:03:37

标签: python django nginx uwsgi

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

我打算用nginx来提供python文件。根据我的研究,我还需要一个python web框架。我选择和uwsgi一起去。我很困惑。我需要哪一个?一个nginx uwsgi模块,还是uwsgi服务器?我不想把django放在这个简单的目的上。

nginx documentation提到

  

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

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

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

1 个答案:

答案 0 :(得分:20)

你正在混淆事情,所以让我澄清一下。

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

Pure WSGI非常低级,因此您可能希望使用符合WSGI的framework。我猜前两位是DjangoFlask

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