部署Python API

时间:2015-06-11 11:06:01

标签: django api nginx deployment uwsgi

我试图了解在生产中部署Django应用程序的最简单方法。

许多人推荐使用nginx或Apache以及uwsgi或gunicorn。我认为这比我的情况要求更多,我想知道我的想法是否正确。

此应用程序只不过是一个将JSON发送到客户端应用程序的API。管理页面有静态文件,但该页面仅供开发人员使用,因此流量极低。换句话说,大多数响应具有非常小的有效载荷,并且对静态资源的请求很少。

此外,由于这只是一个API,因此在端口8000上提供服务很好。

如果uWSGI足以应对我的情况,我很乐意省去nginx / Apache的复杂性,但我不清楚真实服务器可能提供的其他优势,以及如何确定它是否是必要的。

我意识到这个问题是主观的,但我在Python / Django世界中缺乏经验,似乎所有的建议都集中在提供实际网页的更典型的情况。是否有部署Django API的最佳实践?

1 个答案:

答案 0 :(得分:1)

安全,这最终是关于什么,一直是一个非常复杂的问题。开放的互联网是最危险的地方之一。无论你的服务器看起来多么微小和微不足道,人们都会发现并尝试打破它。如果Web服务器不是从头开始设计来处理开放互联网的所有罪魁祸首,那么就不安全

Gunicorn被设计为Python应用程序服务器。即使它处理HTTP请求,它也不是设计为完整的Web服务器。正如the docs say

  

我们强烈建议在代理服务器后面使用Gunicorn。

我对uWSGI没有任何经验,但如果情况属实,我也不会感到惊讶。