2013-06-19 73 views
2

我應該使用哪個web服務器/配置來部署簡單的Django/django-cms應用程序? 我的主要興趣點是(按優先順序排列):Django的哪個服務器

  1. 易於安裝/配置
  2. 可靠性
  3. 速度
  4. 安全方面

有不同的可能性,我能找到:

  • Apache2中modwsgi
  • Ngnix與uWSGI
  • CherryPy的
  • Gunicorn

是否有關於上述幾點這些可能性之間的比較呢? 我看了一下Django的文檔,但沒有推薦。

+1

我使用nginx的/阿帕奇/ modwsgi沒有太多的問題。非常簡單。 – karthikr

回答

5

Django Servers有一個很好的資源,以及如何配置它們。

我認爲Ngnix將是您最感興趣的最佳選擇。它速度快,可靠,正如您從鏈接中看到的那樣,並不難以設置。

3

在我看來,你沒有包括和正在爲我工​​作罰款它使用Nginx + Gunicorn。爲了監督gunicorn過程,我使用了supervisord。 所以我的選擇是:

  • Gunicorn + Nginx的+ Supervisord
  • 的Nginx + chaussette +馬戲團(在Mozilla中)

但是不同的人用不同的東西。你必須檢查你最需要的套件。

On DjangoCon 2013 Tarek Ziade向我們展示了用於監督Django/Python應用程序的替代方案,稱爲馬戲團正在使用Chaussette來託管應用程序。我認爲它確實值得注意,因爲它直接監督任何Python/Django進程並具有其他一些很好的功能。

你可以看到馬戲團塔裏克·齊亞德介紹,並在這裏進行比較與其他解決方案: http://www.youtube.com/watch?v=YEtTWeeRzUI

2

所有主要的WSGI服務器提供了良好的性能和可靠性,但它是最好的不是任何人都可以給你一個答案因爲它實際上取決於您的具體應用要求。因此,你所得到的只是來自人們的一些個人偏好。

也要非常清楚WSGI服務器僅代表整個堆棧中的一小部分,並且在正確配置時只佔總響應時間的很小的百分比。換句話說,除非你真的搞砸了你設置WSGI服務器的方式,否則它不會是瓶頸。

如果您想了解哪些瓶頸以及您可以如何監控它們,請觀看我的PyCon US 2012談話,其中討論了Web服務器瓶頸和Python Web應用程序。

+0

正如我所說,謝謝,表現不是很重要。該設置應該簡單可靠。大多數解決方案都建議使用許多Web服務器這意味着:更多的軟件需要更新,更多的潛在安全問題,更多的安裝陷阱等等。 – ProfHase85

+0

如果你想要更少的移動部件,那麼Apache/mod_wsgi會是你想要的。所有其他人仍然需要一個前端代理Web服務器出於各種原因或一個主管讓他們運行。使用mod_wsgi只有Apache,mod_wsgi加載到Web服務器中,並且Apache是​​它自己的主管。 –