脚本专栏 
首页 > 脚本专栏 > 浏览文章

在Apache服务器上同时运行多个Django程序的方法

(编辑:jimmy 日期: 2024/11/18 浏览:3 次 )

在同一个 Apache 实例中运行多个 Django 程序是完全可能的。 当你是一个独立的 Web 开发人员并有多个不同的客户时,你可能会想这么做。

只要像下面这样使用 VirtualHost 你可以实现:

NameVirtualHost *

<VirtualHost *>
  ServerName www.example.com
  # ...
  SetEnv DJANGO_SETTINGS_MODULE mysite.settings
</VirtualHost>

<VirtualHost *>
  ServerName www2.example.com
  # ...
  SetEnv DJANGO_SETTINGS_MODULE mysite.other_settings
</VirtualHost>

如果你需要在同一个 VirtualHost 中运行两个 Django 程序,你需要特别留意一下以 确保 mod_python 的代码缓存不被弄得乱七八糟。 使用 PythonInterpreter 指令来将不 同的 <Location> 指令分别解释:

<VirtualHost *>
  ServerName www.example.com
  # ...
  <Location "/something">
    SetEnv DJANGO_SETTINGS_MODULE mysite.settings
    PythonInterpreter mysite
  </Location>

  <Location "/otherthing">
    SetEnv DJANGO_SETTINGS_MODULE mysite.other_settings
    PythonInterpreter mysite_other
  </Location>
</VirtualHost>

这个 PythonInterpreter 中的值不重要,只要它们在两个 Location 块中不同。

上一篇:使用相同的Apache实例来运行Django和Media文件
下一篇:在Django的模型中执行原始SQL查询的方法