每个应用程序实例的 WSGIDaemonProcess

每个应用程序实例的 WSGIDaemonProcess

我正在使用 Apache 和 mod_wsgi 在多台服务器上部署 django 应用程序。我在多个地方读过 (包括这个:http://blog.dscpl.com.au/2012/10/why-are-you-using-embedded-mode-of.html) 最好使用 wsgi 的守护进程模式。这将允许我控制每个进程的进程数和线程数,以及其他一些巧妙的功能 :)

现在,我可以在同一台服务器上拥有两个或更多个 django 应用程序实例(每个实例都有自己的设置、数据库等)。例如:

  • http://team1-server/prod-instance
  • http://team1-server/test-instance

虽然我认为我理解如何对多个虚拟主机使用不同的“进程组”和“守护进程”配置,但我似乎并不知道如何处理多个“子根”。

编辑:

我运行这些CentOS 6.2发行版。在/etc/httpd/conf.d/目录中,每个实例都有一个.conf文件,如下所示:

WSGIScriptAlias /prod-instance /opt/wsgi_applications/prod/app.wsgi

结束编辑。

我是否应该使用虚拟主机并使用诸如 这样的 URL http://prod-instance.team1-server/?这意味着我应该依靠网络管理员来更新 DNS 表,但这对于我们的客户来说永远不够快。:)

我必须承认,在 Apache 配置方面我经常会感到迷茫。欢迎您的帮助。

谢谢!

O。

答案1

假设你没有使用非常旧的过时的 mod_wsgi 版本,你可以说:

WSGIDaemonProcess prod-instance
WSGIScriptAlias /prod-instance /opt/wsgi_applications/prod/app.wsgi process-group=prod-instance application-group=%{GLOBAL}

WSGIDaemonProcess test-instance
WSGIScriptAlias /test-instance /opt/wsgi_applications/test/app.wsgi process-group=test-instance application-group=%{GLOBAL}

如果您正在使用非常旧的过时的 mod_wsgi 版本,请改用:

WSGIDaemonProcess prod-instance
WSGIScriptAlias /prod-instance /opt/wsgi_applications/prod/app.wsgi
<Location /prod-instance>
WSGIProcessGroup prod-instance
WSGIApplicationGroup %{GLOBAL}
</Location>

WSGIDaemonProcess test-instance
WSGIScriptAlias /test-instance /opt/wsgi_applications/test/app.wsgi
<Location /test-instance>
WSGIProcessGroup test-instance
WSGIApplicationGroup %{GLOBAL}
</Location>

相关内容