为什么我需要一个单独的Django网络服务器?

Vit*_*tor 6 django webserver

我注意到Django上的大多数书籍和教程都非常清楚地将Django开发服务器用作普通的网络服务器是不行的.但有些人声称其他网络服务器是可选的,我们可以使用Django服务器将网站放在网上供所有人查看.

但为什么呢?为什么我需要(或不)在Django-WSGI前面使用Apache,Lighttpd,Nginx等?

Django服务器在某种程度上不安全吗?如果是这样,它是如何完全不安全的,为什么Django不能带来更强大的网络服务器(开箱即用,准备使用)?

那些网络服务器究竟如何帮助Django?*我知道那些网络服务器有非常有用的mod,但是AGAIN:Django不能带来更安全的"可修改"网络服务器吗?

Mat*_*ens 8

我的理解是,Django的人并不专注于服务器业务,他们从不打算让他们的服务器代码生成任何东西,而不是在没有大量流量的情况下在一台本地机器上开发和测试.根据自己的文档

现在是时候注意了:不要在生产环境中使用此服务器.它仅用于开发时使用.(我们的业务是制作Web框架,而不是Web服务器.)


Dwi*_*ing 5

这取决于Django项目的目标以及与重用相关的效率提高(而不是重新发明轮子)。

Django的既定目标是提供一个Web应用程序框架,以实现快速开发和最少的代码。最初的口号是“针对具有期限的完美主义者的Web应用程序框架”。

可以使用简单的单线程Web服务器来实现该目标,该服务器可以简化开发和测试。

另一方面,Apache httpd,Nginx,IIS等的目标是提供异常可扩展的高性能Web服务器。这些应用程序是高度可配置的,因为所有应用程序都不同,并且没有一种适合所有应用程序。他们还需要不同的专业知识来设计,实施和维护。

因此,在有限的资源(开发人员时间)下,Django团队选择专注于Web应用程序框架,而将可投入生产的Web服务器留给另一个项目,这在很大程度上是有意义的。