2011-04-05 71 views
6

對於如何繼續,我有點困惑。我正在設置Django在Mediatemple DV服務器上運行。我試圖找出適當的設置服務的圖像/視頻/等內容。單獨服務器來服務Django應用程序和它的內容?

我不太明白這是什麼意思上http://docs.djangoproject.com/en/dev/howto/deployment/modwsgi/

我們建議使用一個單獨的Web服務器 - 即,一個是不是還運行Django的 - 爲服務媒體。這裏有一些不錯的選擇:

的lighttpd, Nginx的, TUX, 阿帕奇的簡裝版, 切諾基

這是否意味着我應該成爲Django的一個Apache實例(通過mod_wsgi的)然後將其內容提供給Apache的另一個實例或上述其中一個替代方案?我可以在同一個專用虛擬服務器上執行此操作,對吧?如果是這樣,關於我該如何做的建議?

謝謝!

回答

2

基本上它的意思是,你應該使用mod_wsgi的服務於您的Django應用程序使用Apache,並使用更輕量級的Web服務器一樣nginx的服務您的靜態內容。

例如。

www.yourapp.com - >阿帕奇 - >的mod_wsgi - >您的Django應用程序

static.yourapp.com - > Nginx的

通過分離您的問題,你可以配置你的Apache實例是轉儲卡車處理繁重的處理,而你的nginx服務器就像賽車一樣輕便快速,並提供大量靜態文件。

如果您配置nginx以使其處理所有網絡流量,您可以將代理所有django請求反向代理到它後面的apache,並攔截所有靜態文件並從nginx服務那些海峽。

查看這些鏈接瞭解更多信息。

http://codespatter.com/2009/04/23/how-to-speed-up-your-django-sites/

django : Serving static files through nginx

https://serverfault.com/questions/122809/django-serving-static-files-through-nginx

https://serverfault.com/questions/199038/serving-static-files-fails-nginx

-1

肯是正確的,他的評價和建議中後面的NGINX代理服務的一切。這是要走的路。

你可以有你在同一臺服務器或不同的應用和媒體服務器。對於大多數應用程序來說,無關緊要,可以從同一臺計算機同時提供媒體和應用程序。

如果你正在尋找大量的用戶和交通擁擠,打破了媒體服務器出到它自己的機器將防止兩個崩潰對方,讓你更多的靈活性。

退房Gunicorn如果你還沒有,因爲它是一個閃電般快速,易於部署的應用服務器,是新的熱點。

7

對於大多數人來說,不需要單獨的媒體服務器。對於Django文檔在沒有必要的時候過於自由地推動人們朝這個方向發展的批評越來越多。

所以,不要打擾最初,如果使用mod_wsgi也使用Apache Web服務器的靜態媒體。儘管如此,建議您確保在mod_wsgi的守護進程模式下運行WSGI應用程序,這樣提供靜態文件的進程將變得很渺茫,而不會導致實際動態Web應用程序的開銷。

如果過分擔心內存的使用,也有讀:

http://blog.dscpl.com.au/2009/11/save-on-memory-with-modwsgi-30.html

看看上面一切順利,只有當阿帕奇本身看起來並不足夠,再看看使用另一臺服務器來處理媒體,首選的安排是使用nginx處理靜態媒體,而nginx也充當Apache/mod_wsgi的代理。在前面使用nginx實際上允許Apache/mod_wsgi更好地執行,在單獨的域上使用nginx不會。

相關問題