是否可以在同一个 VirtualHost 下配置多个 Apache WSGIAlias'es?

Posted

技术标签:

【中文标题】是否可以在同一个 VirtualHost 下配置多个 Apache WSGIAlias\'es?【英文标题】:Is it possible to configure multiple Apache WSGIAlias'es under same VirtualHost?是否可以在同一个 VirtualHost 下配置多个 Apache WSGIAlias'es? 【发布时间】:2013-06-13 23:47:45 【问题描述】:

我目前在 apache 中有一个 SSL 配置文件来服务我的 django 项目。目前该设置类似于:

<VirtualHost _default_:443>
#setup of paths to SSL file, default dirs, etc

#
# config for main django site
#
WSGIScriptAlias /v1 "C:/sites/mysite/v1/django.wsgi"
WSGIPassAuthorization On
<Directory "C:/sites/mysite/v1/myAppName">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>

</VirtualHost>                                  

这行得通。但是,我想将暂存/测试 URL 路径(但不同的代码目录)添加到同一服务器并重用现有证书。但是,如果我调整上面的代码并重新启动服务器,对我的 /demo/ 站点的点击会引发内部服务器错误,尽管对主 django 站点的调用继续有效:

<VirtualHost _default_:443>
#setup of paths to SSL file, default dirs, etc

#
# config for demo django site
#
WSGIScriptAlias /demo "C:/sites/demo/django.wsgi"
WSGIPassAuthorization On
<Directory "C:/sites/demo/myAppName">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>

#
# config for main django site
#
WSGIScriptAlias /v1 "C:/sites/mysite/v1/django.wsgi"
WSGIPassAuthorization On
<Directory "C:/sites/mysite/v1/myAppName">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>

</VirtualHost> 

如何将 Apache 配置为让两个不同的代码目录都根据 URL 上传递的 WSGIScriptAlias 路径的更改做出响应?

【问题讨论】:

【参考方案1】:

是的,你可以。去阅读:

http://blog.dscpl.com.au/2012/10/requests-running-in-wrong-django.html

尽管注意如何设置 DJANGO_SETTINGS_MODULE。您可能遇到了这个问题。

请更新您的问题,说明您尝试访问的 URL 以及您获取的是 Apache 404 页面还是 Django 页面。

顺便说一句,您的两个目录块都是错误的,因为它们使用了错误的目录。这些是您正在使用的实际配置,还是您修改了它以保护真实值?

【讨论】:

是的,目录块被重写以掩盖真实的配置细节,但你的问题让我再看一眼。我删除了它们并且 tada 事情像以前一样工作。如您的文章中所述,我添加了 WSGIScriptAlias 路径。我现在可以在浏览器中访问演示站点,但它会抛出 'AssertionError at XXXXX No Exception提供'。深入阅读您的链接,我相信这可能是因为环境变量泄漏(?)。但是,当我尝试将 WSGIDaemonProcess 命令添加到配置时,如图所示,Apache 服务拒绝启动。 Hmmmm - 回答我自己关于 WSGIDaemonProcess 的问题,它似乎不支持作为 Windows 上 mod_wsgi 的一部分。 ***.com/questions/4882605/… 遵循这个 *** 线程 (***.com/questions/9479239/…) 中的建议让我陷入困境。仍然需要额外的测试,但至少内容会流到屏幕上。

以上是关于是否可以在同一个 VirtualHost 下配置多个 Apache WSGIAlias'es?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Apache服务器配置多端口运行多个网站

在 Ubuntu 12.04 上的 Apache2 中配置 VirtualHost 的问题

RabbitMQ不同通道间存在影响

后端多个apache 2.4 如何同步设置virtualhost

Apache VirtualHost配置

apache配置virtualhost https(ssl)