【问题标题】:Is it possible to serve more than one django project under same domain?是否可以在同一个域下为多个 django 项目提供服务?
【发布时间】:2024-01-05 05:53:01
【问题描述】:

我有一个网站,localdjangosite.com,我已经有一个 django 应用程序在该域上运行,网址为 localdjangosite.com/site1/。为此,我在 apache sites-available 目录中设置了一个虚拟主机,如下所示,我也使用了 mod_wsgi。

WSGIScriptAlias /site1 /path/to/the/django/codebase/wsgi.py

<Directory /path/to/the/django/codebase/>
    Require all granted
</Directory>

这样,site1 运行良好。

现在我想在同一域下再拥有一个站点,例如localdjangosite.com/site2/。当我尝试像下面这样配置 apache 时,我遇到了 page not found 错误。

WSGIScriptAlias /site2 /path/to/the/django/codebase/for/site2/wsgi.py

<Directory /path/to/the/django/codebase/for/site2/>
    Require all granted
</Directory>

当我这样配置并访问 url localdjangosite.com/site2/ 时,它显示 Page not found 错误并显示 site1 而不是 site2 的 url 配置。这里site1site2 确实是两个不同的django 项目,它们内部有不同的应用程序和服务于不同的目的。

所以我真的不明白发生了什么?怎么了?

有人可以帮我理解它并在同一域下托管两个或多个 django 项目吗?

【问题讨论】:

  • 您是否为这两个应用程序设置了正确的DNS 条目?如果可能,更喜欢子域 site1.localdjangosite.comsite2.localdjangosite.com 并且不要忘记将 *.localdjangosite.com 添加到 ALLOWED_HOSTSsettings.py 这两个应用程序
  • @cizario,是的,我可以在我的开发机器上试一试,没关系。但是在生产中我不能有子域,这是一个问题。

标签: django apache2 mod-wsgi


【解决方案1】:

是的,只是使用不同的端口,例如: localdjangosite.com:80localdjangosite.com:84

【讨论】:

    最近更新 更多