当前位置:  开发笔记 > 编程语言 > 正文

Django最干净,最快速的服务器设置

如何解决《Django最干净,最快速的服务器设置》经验,为你挑选了4个好方法。

我即将部署一个由Django驱动的中型网站.我有一个专用的Ubuntu服务器.

我真的很困惑使用哪些服务器软件.所以我心想:为什么不问stackoverflow.

我正在寻找的是:

易于设置

资源快速简便

可以提供媒体文件

能够在同一台服务器上提供多个djangosites

我宁愿不安装PHP或任何其他糟糕的资源,我没有用.

我在Apache,nginx和lighty上听说过mod_wsgi和mod_python.哪些是这些的利弊,我错过了某人?

@Barry:不知怎的,我觉得Apache对我来说很臃肿.替代方案呢?

@BrianLy:好的,我会再看一下mod_wsgi.但是,如果我提供轻微的静态文件,为什么我需要Apache?我还设法用轻松的方式为django应用程序服务.反正这样糟糕吗?对不起因为这么傻:-)

更新:lighty和nginx怎么样 - 当这些是完美的选择时,哪些是用例?



1> jamting..:

由于我正在寻找更深入的答案,我决定自己深入研究这个问题.如果我误解了什么,请告诉我.

一些一般建议是使用单独的网络服务器来处理媒体.通过单独,我的意思是一个没有运行Django的网络服务器.这个服务器可以是例如:

Lighttpd(Lighty)

Nginx(EngineX)

或者其他一些轻量级的服务器

然后,对于Django,你可以走不同的路径.你可以:

通过Apache服务Django :

mod_python的

这是稳定且推荐/记录良好的方式.缺点:使用大量内存.

mod_wsgi的

据我所知,mod_wsgi是一个新的替代品.资源似乎更快更容易.

的mod_fastcgi

使用FastCGI时,您将Django的服务委托给另一个进程.由于mod_python在每个请求中都包含一个python解释器,因此它使用了大量内存.这是绕过这个问题的一种方法.还存在一些安全问题.

你所做的是你在一个单独的进程中启动你的Django FastCGI服务器,然后通过重写配置apache以在需要时调用这个进程.

或者你可以:

不使用Apache而是使用另一台本机支持FastCGI的服务器服务Django :

(文档提到如果你没有任何Apache特定需求,你可以这样做.我想原因必须是节省内存.)

Lighttpd的

这是运行Youtube的服务器.它似乎快速且易于使用,但我已经看到有关memoryleaks的报告.

nginx的

我见过基准测试声称这台服务器甚至比lighttpd更快.它主要用俄语记录.

另一件事,由于Python的限制,您的服务器应该以分叉模式运行,而不是线程化.

所以这是我目前的研究,但我想要更多的意见和经验.


mod_python模块不需要消耗更多的内存.它确实已经成长为一种城市神话,现实是人们所遇到的内存问题是由mod_python/Python的安装方式以及Apache的配置方式引起的.第一个问题是,在过去,Python通常没有安装共享库.这意味着mod_python必须静态链接它,导致由于地址重定位而使用本地内存.另一个问题是人们使用prefork,这对PHP更好,但对Python来说很糟糕.

2> Oli..:

我正在使用切诺基.

根据他们的基准(与它们的盐粒),它比Lighttpd和nginx更好地处理负载...但这不是我使用它的原因.

我使用它是因为如果你键入cherokee-admin,它会启动一个你可以登录的新服务器(使用一次性密码)并通过一个精美的webmin配置整个服务器.这是一个杀手级的功能.它已经为我节省了很多时间.它为我的服务器节省了大量资源!

至于django,我将它作为线程SCGI进程运行.效果很好.切诺基也可以保持运转.再次,非常好的功能.

目前的Ubuntu repo版本很老,所以我建议你使用他们的PPA.祝好运.



3> Brian Lyttle..:

正如@Barry所说,文档使用mod_python.我没有使用Ubuntu作为服务器,但在Solaris上使用mod_wsgi有很好的经验.您可以在mod_wsgi站点上找到mod_wsgi和Django的文档.

快速审查您的要求:

易于设置我发现apache 2.2相当容易构建和安装.

资源快速简便我会说这取决于您的使用情况和流量.*您可能不希望使用Apache服务所有文件,并使用LightTPD(轻微)来服务器静态文件.

可以提供媒体文件我假设你的意思是图像,闪存文件?Apache可以做到这一点.

同一服务器上的多个站点 Apache 上的虚拟服务器托管.

而不是安装其他扩展在Apache配置中注释掉你不想要的任何东西.



4> Barry..:

官方推荐的部署django项目的方法是使用mod_python和apache.这在文档中描述. 这方面的主要优点是它是最好的文档,最受支持和最常见的部署方式.可以说它可能不是最快的.


虽然,Django支持#django freenode上的社区同意文档已经过时,官方推荐的方式是mod_wsgi.
推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有