2016-09-02 39 views
2

我注意到,Django的大部分書籍和教程都非常清楚地表明,將Django開發服務器用作普通的網絡服務器並不好。 但是有些人認爲其他網絡服務器是可選的,我們可以使用Django服務器將網站放到網上供大家看。爲什麼我需要一個獨立的Django網絡服務器?

但是爲什麼呢?爲什麼我需要(或不)在Django之前使用Apache,Lighttpd,Nginx等 - WSGI?

Django服務器在某些方面不安全嗎?如果是這樣,它是如何不安全的,爲什麼Django不能提供更強大的Web服務器(開箱即用)?

這些網絡服務器如何幫助Django? *我知道那些網絡服務器有非常有用的mods,但再次:不能Django只是帶一個更安全的「可修改」網絡服務器?

+0

http://stackoverflow.com/questions/13372297/why-should-one-use-a-http-server-in-front-of-a-framework-web-server – Tempux

回答

2

這歸結於Django項目的目標以及與重用相關的效率提高(與重新發明輪子相反) 。

Django聲明的目標是提供一個Web應用程序框架,以實現快速開發和最少的代碼。最初的標語是一個「完美主義者的網站應用程序框架,並有截止日期」。

這一目標可以用簡單方便的開發和測試一個簡單的單線程Web服務器來完成。

的Apache httpd的,Nginx的,IIS等,在另一隻手的目標是提供非常可擴展和高性能的網絡服務器。這些應用程序是高度可配置的,因爲所有應用程序都有所不同,並且沒有一個適合所有人。他們還需要不同的專業知識來設計,實施和維護。

因此,它是一個很大的意義,與有限的資源(開發時間),Django開發團隊選擇了專注於web應用程序框架,並留下了生產就緒的Web服務器到另一個項目。

3

我的理解是,在Django的鄉親沒有專門的服務器業務,他們從未想過自己的服務器代碼,以產生一個本地的機器上的方式以外的任何開發和測試沒有大量的流量。根據他們的own documentation

現在是值得注意的時候了:不要在類似於生產環境的任何東西中使用此服務器。它僅用於開發時使用。 (我們正在開發Web框架,而不是Web服務器。)

0

它不是特定於Django的,對於我所知的所有現代Web框架來說都是如此,它們都有這個非常簡單的內置Web服務器,我們只用於開發目的,原因很明顯,因爲我們已經擁有功能非常強大的Web服務器,所以重新發明輪子沒有任何意義。

另一個重要的事情是,你可以使用一個Web服務器可能會使用不同的編程語言和Web框架來開發一個或多個Web應用程序。

相關問題