2016-02-25 76 views
1

對於這一點,我剛剛創建,並在我的本地打我的Django的服務器,比如建立一個基本的服務器Linux發行版我的另一臺設備上測試等我是否真的需要爲Django使用服務器應用程序?

不過,我也聽說過服務器應用程序,如apache2nginx 。我想知道的是:我真的需要在生產中使用其中之一嗎?我想購買(或租用)VPS服務,然後在該服務器上部署(或發佈?)我的項目。我腦海中的問題是:

  • 運行服務器與manage.py runserver 0.0.0.0:80意味着它不會使我的應用程序在世界範圍內?一個服務器應用程序(或不管它是什麼)使得它可以在外面訪問?
  • 服務器應用程序只是爲了獲得更好的性能,優化等。

簡而言之,爲什麼我需要使用apache2nginx來部署我的項目?

回答

0

這是一個很長的故事。在幾句話:

  1. 運行在本地主機上項目肯定不會讓全球IT訪問,因爲至少你需要一個公網地址爲您的服務器,但不是本地的。
  2. 坦率地說,使用django內置服務器在專業版中運行網站並不是問題。但是,正如您可以在docs中看到的,強烈建議不要這樣做。爲什麼?因爲它是專門爲測試開發的。它是用python編寫的(對於Web服務器來說足夠慢)並且不適合處理多個查詢到服務器,它只會是一個時間問題。當然,還有很多其他原因,如緩存和訪問設置,重定向等。
+0

是的。但是有一個誤解:我想說的是,如果一個服務器應用程序使全局訪問項目成爲可能。我不確定Django自己的runserver是否能夠打開它。我想知道是否我已經購買了VPS,並且沒有安裝服務器應用程序,即使我有公共IP地址,我也會無法訪問。不過,你的第二點讓我明白了一點。 –

+1

當然,可以在不使用apache或nginx而只使用內置服務器的情況下運行django項目。 – chem1st

+2

響應號碼小號挑選1:使用'runserver 0.0.0.0:80'將打開服務器以偵聽所有可用地址,而不是本地主機。因此,只要機器具有公開列出的IP地址,那麼'runserver 0.0.0.0:80'確實會公開可用。 – Joseph

相關問題