在Apache上使用Comet/Orbited构建Django应用,选择mod_wsgi还是mod_python?

0 投票
1 回答
1319 浏览
提问于 2025-04-15 15:06

我正在一个虚拟专用服务器(VPS)上搭建一个Django应用。虽然我在搭建自己的服务器方面经验不多,但这次我决定尝试使用VPS。

为了学习如何“正确”地设置一个LAMPython服务器,我做了很多研究,使用的是Apache的worker MPM。自然,mod_python和mod_wsgi的争论也随之而来。

通过阅读Graham Dumpleton的博客和他在各种邮件列表上的回复,我学到了不少东西。特别是,mod_python的性能可以通过使用worker MPM大大提升,具体内容可以参考Load spikes and excessive memory usage in mod_python这篇文章。

不过,我决定使用mod_wsgi(守护进程模式)加上worker MPM,但在我开始研究如何实现Comet时,我有点困惑了。

我考虑使用Dark Porter描述的技术来实现Comet(http://darkporter.com/?p=7),因为这看起来可以让Django的设置更优化,所有内容都在一个进程中,但他特别提到他使用的是mod_python,并没有提到mod_wsgi。

所以我有几个问题:

1) 使用mod_wsgi实现Dark Porter的方法是否可行?

2) 如果你要设置一个支持Django+Comet的服务器,你会选择哪些组件,为什么?(mod_python与mod_wsgi / DarkPortersMethod与MorbidQ与RabbitMQ)

谢谢!

1 个回答

3
  1. 是的,完全可以。

  2. 我可能会使用Dark Porter实现的Orbited - 这是让你的代码运行起来最简单的办法,而且是用纯Python写的。更重要的是,它是基于Twisted的,所以非常可扩展,并且有一个成熟的Django用户社区。

撰写回答