2011-04-05 81 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不会。

相关问题