【问题标题】:django + wsgi + multiple sitesdjango + wsgi + 多个站点
【发布时间】:2012-03-30 10:00:05
【问题描述】:

我有一个使用站点框架的 django-app,需要部署在单个 apache 虚拟主机中。我将 mod-python 与 PythonInterpreter 一起使用,它运行良好。但是 mod-python 已被弃用,我想迁移到 wsgi。但是我可以弄清楚如何使用 wsgi 来配置这个场景。谁能帮我?我猜只是为每个站点使用 WSGIScriptAlias 是行不通的,因为它运行在同一个 python 解释器上。

谁能帮帮我?

【问题讨论】:

标签: django apache2 wsgi django-wsgi django-sites


【解决方案1】:

WSGIApplicationGroup 的默认值为 %{RESOURCE},它扩展为包括 ServerName 的值和应用程序安装点。因此,默认情况下,每个不同的虚拟主机都将位于单独的子解释器中。

这意味着如果您有多个具有不同 ServerName 设置的 VirtualHost 定义,那么它们将是不同的。

一般来说,最好为每个站点创建一个不同的守护进程组,并将每个进程组委派给一组不同的进程。这是使用 WSGIDaemonProcess 和 WSGIProcessGroup 指令完成的。

当每个站点都在一个单独的守护进程组中时,通常最好将 WSGIApplicationGroup 设置为 %{GLOBAL} 以便在进程中使用主解释器,因为这样可以避免第三方 C 扩展模块的一些问题,这些模块不是这样编写的至于在子解释器中工作。

【讨论】:

  • 但是 WSGIDaemonProcess 的上下文是虚拟主机。我怎样才能只使用一个虚拟主机来做到这一点?我的网站是:http:///site1/ 和 http:///site2/。
  • 不限于VirtualHost。它可以在 VirtualHost 之外,然后每个 VirtualHost 都有一个 WSGIProcessGroup 引用它。不过,正如我所说,每个站点使用一个守护进程组会更好。
  • 工作得很好!!谢谢! =]
猜你喜欢
  • 1970-01-01
  • 2013-01-04
  • 2014-06-17
  • 2013-02-02
  • 2013-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-04
相关资源
最近更新 更多