一个生产服务器中有不同版本的 Django,如何设置?

一个生产服务器中有不同版本的 Django,如何设置?

输出应该看起来像这样。

  1. http://www.example.com/djangoapp1 django 版本 0.96
  2. http://www.example.com/djangoapp2 django 版本 1.0.2

使用 Apache 服务器,使用 mod_python。或者任何最推荐的服务器技术。

谢谢。

答案1

我不确定是否可以用 mod_python 正确执行此操作。过去,我尝试使用 mod_python 时,发现了大量跨线程/进程泄漏。现在使用虚拟环境但这不值得。

搬去mod_wsgi为了获得更好的性能、更好的支持、更好的内存使用率和更少的错误...请关注 wiki 页面虚拟环境用于运行多个 Django 版本。

答案2

从技术上讲,使用 mod_python 应该可以做到这一点。如果人们确实遇到了其他人所建议的问题,很可能是因为他们没有正确设置 mod_python 如何使用解释器。即使正确设置了子解释器,使每个 Django 实例都有自己的解释器,您仍然可能会遇到时区、语言和区域设置问题,因为这些设置是通过环境变量控制的,这些变量是进程的全局变量,而不是子解释器的本地变量。但这与使用不同版本的 Django 无关,并且在 Apache 进程中运行多个应用程序时可能发生。嵌入模式下的 mod_wsgi 也会出现同样的问题。最安全的方法是使用 mod_wsgi 守护进程模式。这样,每个 Django 实例都在自己的进程中,它们不会互相干扰。

相关内容