Zac*_*ack 9 python linux deployment django webserver
简短版本:如何部署Django服务器?什么应用服务器,前端(如果有的话,前端我的意思是反向代理)和操作系统你运行它?任何输入都会非常感激,对于Python来说我是一个新手,甚至更多的是作为服务器管理员.
长版本:我正在服务器主机之间进行迁移,对于周末这么多......但这并不是一件坏事.我有机会转向Django的另一个可能更好的"部署".
目前我正在使用Django通过Tornado的WSGI接口和Debian Lenny上的nginx前端.我正在寻求进入Rackspace Cloud,因此在操作系统方面我有很多选择:
我收集的是这个:
Debian和CentOS发布软件的非bugfix更新非常缓慢,因为它们主要关注稳定性.这是好事还是坏事?我可以看到稳定性是一件好事,但事实上我无法获得Python 2.6而不必担心替换Python 2.4是一种关闭 - 如果我这样做,那么当它到来时我就会陷入困境希望使用apt/yum来安装Python库(它将尝试重新安装Python 2.4).
Ubuntu和Fedora看起来非常......准备好了.几乎已经准备好了,它就像它已经完成的一切.我喜欢修补东西,我更喜欢知道安装了什么以及它是如何配置的,而不是使用"千篇一律"设置来打击地面(没有违法行为,这只是描述我想说的内容的最佳方式) .我一直在玩Fedora,我很惊讶地发现已经安装了pycurl,simplejson和一堆其他库; 这提出了一个问题,不过,什么别的安装?我在一个非常小的VPS上运行紧凑的船,我更喜欢只运行我需要的东西.
然后是Gentoo ......我已经设法在我的桌面上安装Gentoo(差不多花了一周时间)并且在我想要做一些事情并且不得不花费45分钟重新编译新软件后花了45分钟将它扔掉了使用标志,以便我可以通过PIL解析PNG.我想知道,Gentoo是否适合像服务器一样的"静态"?我确切地知道我将在我的服务器上做什么,所以USE标志将永远改变.它优化了编译以满足您所告知的需求,仅此而已 - 我可以欣赏在最小的RAM和HDD空间上运行的东西.我听说,当你试图更新它上面的软件时,Gentoo有一种破坏的倾向......现在最重要的是让我远离它.
我不知道任何有关的Arch Linux.对此发行版的任何意见将不胜感激.
我一直在使用龙卷风,我可以肯定地说这是跑步最大的麻烦.我不得不编写自己的脚本来预备它,因为在我设置这个服务器的时候,我可能只有Tornado用户群的10%左右(不包括FriendFeed).然后我必须设置另一个"看门狗"程序,以确保那些叉子不会行为不端.但最重要的是,它使用大约40MB的RAM来运行我所有7个Django供电站点; 我很喜欢,我非常喜欢.
我一直在使用nginx作为Tornado的前端,我可以在Django FastCGI工作者面前运行nginx,但是当你提高并发级别时,那些没有Tornado的可靠性.这对我来说不是一个真正的选择,但我想我也可以列出它.
还有Apache,Django建议你通过mod_wsgi使用它.我个人不太喜欢Apache,我知道它非常,非常,非常成熟,什么不是,但与nginx和lighttpd相比,它看起来很......很胖.Apache/mod_python甚至不是一个选项,因为我的RAM非常有限.
瞄准Lighttpd!这里不多说,我从来没有用过它.我听说你可以在Apache/mod_wsgi面前运行它,也可以在Django FastCGI工作者面前运行它.我听说它有轻微的内存泄漏问题,但我确信可以通过cron工作解决.
我正在寻找的是您所看到的Django"最佳"部署,以满足您的需求.我对上述内容的任何意见或澄清都将非常受欢迎.