2013-11-04 30 views
1

當「runserver」命令運行時,Django使用什麼類型的服務器?文檔多少表示它是「輕量級開發Web服務器」。它是例如Apache嗎?提前致謝。Django runserver使用什麼類型的服務器?

+0

請閱讀[這裏](https://docs.djangoproject.com/en/dev/ref/django-admin/#runserver-port-or-address-port) –

+1

這是沒有任何幫助,以防萬一你沒有注意到我從你寄給我的文檔中引用了行。我讀過它,但我想澄清,這就是爲什麼我來到論壇。 – Malyo

回答

8

它正是它所說的 - 一個簡單,輕量級的Web服務器,它使用Python實現,並與Django一起提供,僅用於開發目的。它本身並不是一個獨立的Web服務器,純粹是爲了用Django開發應用程序 - 你不應該在生產環境中使用它,因爲它不能在生產Web服務器中提供你需要的所有功能。

Web服務器幾乎可以用任何編程語言來實現,所以將用Python實現的一個與Django一起發佈是非常有意義的,以便您可以立即使用它,而無需安裝類似Apache的東西。大多數可能用於生產的Web服務器(如Apache和Nginx)都是用C語言編寫的,所以用Django發佈它們並不實際。

另外,運送您自己的開發服務器可以降低複雜性。 Apache和Nginx都是需要大量配置的複雜軟件,雖然在開發過程中可以自動執行,但當您寧願編寫代碼時,您也不需要處理這些問題。所有你需要讓你開始的東西,將提供靜態和動態內容 - 你不需要很多其他功能需要。值得注意的是,即使PHP現在也帶有一個開發服務器。

當你開始使用Django項目時,你當然應該使用正確的Web服務器。通常建議使用Django,在生產中,應該使用兩個Web服務器,一個用於靜態內容,另一個用於提供動態內容,因爲Django在提供靜態內容時會降低速度。這聽起來很奇怪,但它實際上很有意義,因爲你所做的是設置一個Web服務器來提供所有的靜態內容,然後將它反向代理到另一個服務器,該服務器運行在非標準端口上,並提供所有動態內容。我當前項目的設置是Nginx的靜態內容,Gunicorn是動態內容的。

+0

謝謝,非常全面的解釋。仍然不知道爲什麼有人低估了我的問題。 – Malyo

相關問題