python - 从不运行 Django 的站点使用 mod_wsgi 服务 Django 应用程序/

标签 python django apache mod-wsgi

我有一个网站,目前我正在使用 Django 逐个应用程序地重写该网站。服务器是红帽。运行 Apache 2。安装 mod_wsgi。一切正常。太棒了。

如果我去http://www.example.com/我进入了预先存在的主站点(使用 PHP)。

我有 mod_wsgi 运行并且工作正常。如果我去http://www.example.com/django/我进入了我的 Django 支持的主页。

我有几个应用程序可以正常工作:

所有反向 url 查找工作正常 - 一切都很好。

Apache 的 httpd.conf 中的全局条目是:

WSGIScriptAlias /django /path/to/django/mysite/mysite/apache/django.wsgi

但是,当我将其投入生产时,我不想涉及 url 的/django 部分。

因此,请求 http://www.example.com/software将运行 Django 软件应用程序。

请求http://www.example.com/newsletter将运行 Django 时事通讯应用程序。

我做不到http://www.example.com/重定向到根 Django wsgi 应用程序 - 这可能会在几个月后完成整个站点 Django 重写。

那么,有什么想法可以让我的 Django 应用程序在当前设置中运行吗?

我是否必须为每个应用程序创建 wsgi 文件(例如:/path/to/django/mysite/mysite/apache/software.wsgi 和/path/to/django/mysite/mysite/apache/newsletter.wsgi) httpd.conf 文件中的每个应用条目?如:

WSGIScriptAlias /software /path/to/django/mysite/mysite/apache/software.wsgi
WSGIScriptAlias /newsletter /path/to/django/mysite/mysite/apache/newsletter.wsgi

我似乎找不到关于这种特定设置样式的那么多具体文档。大多数文档假设您使用一个主要的 wsgi 文件和 Django(通过 urls.py)来代理所有请求。我很乐意这样对我来说,但现在这不可能发生。

这可能是我必须解决的一些 Apache 指令功夫。如果是这样,请告诉我。

TIA。

最佳答案

我了解到您正在逐步为 www.example.com 上的所有内容推出新功能。如何在另一个新的 Apache 虚拟主机容器中设置整个 Django 项目,并使用一个新的子域,如 new.example.com?您的根 Django 应用程序可以从 http://new.example.com 访问, 来自 http://new.example.com/software 的软件应用程序等。对于主域 www.example.com,只需设置重定向:

www.example.com/django -> new.example.com
www.example.com/software -> new.example.com/software
www.example.com/newsletter -> new.example.com/newsletter

您可以在启动开关后在相同的 URL 结构上测试整个项目,启动开关只是替换两个虚拟主机中的 ServerName 指令。

关于python - 从不运行 Django 的站点使用 mod_wsgi 服务 Django 应用程序/,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12320803/

相关文章:

python - 由于链接 gdbm 链接问题,Brew 安装 Python 失败

python - 切片 DataFrameGroupBy 对象

Python Pandas 合并数据框中的同名列

Django 按升序排序查询集

apache - 通过一个 php 文件处理任何页面的 http 请求并从 index.html 重定向

apache - 从反向代理请求中保留协议(protocol)和端口号

apache - HTTP2、apache2、带 certbot

python - 使用 Numpy 和 Pandas 优化 Python 代码

Django 关系数据库查找

django - 如何在 Google 应用引擎中通过 Django 添加模型表单?