我可以从 2 个不同的 apache vhost 提供一个 django 应用程序吗?

Posted

技术标签:

【中文标题】我可以从 2 个不同的 apache vhost 提供一个 django 应用程序吗?【英文标题】:Can I serve one django app from 2 different apache vhosts? 【发布时间】:2013-02-08 23:09:05 【问题描述】:

我有一个 django 应用程序,目前在 dev.mydomain.com 上可用,我正准备将它移至 clientsdomain.com。我在 Ubuntu 上,所以我将运行 a2dissite dev.mydomain.com,然后运行 ​​a2ensite clientsdomain.com

我的虚拟主机文件除了服务器名称之外都是相同的 -

<VirtualHost 8.8.8.4>
    ServerName dev.mydomain.com
    #....
</virtualHost>

<VirtualHost 8.8.8.4>
    ServerName clientdomain.com
    #....
</virtualHost>

(显然那不是我的IP地址)

我只是想知道在从实时 vhost 运行我的应用程序之前是否真的需要关闭 dev vhost。我可以同时运行它们吗?同时启动它们是否有任何风险(如果可能的话)。

【问题讨论】:

你可以同时运行它们,但最好在开发域上设置密码以避免搜索索引。 【参考方案1】:

每个 Django 应用程序都会为进入其对应的 VirtualHost 的请求提供服务。所以不,理论上它们可以并行运行。

但是,您并没有详细了解您的设置。例如,它们是否由同一个数据库支持?在这种情况下,您确实意识到了问题所在,对吧?

【讨论】:

@AidanEwen:当然。如果两个安装都由同一个数据库支持,那么您的 development 数据将在 production公开。同样,您的 development 应用程序会弄乱您的 production 数据。当然,这取决于您的应用程序,这可能很危险。 好的,谢谢@PamboPaschalides。这就是我所期待的行为。我没有单独的数据。相同的数据库,相同的数据。

以上是关于我可以从 2 个不同的 apache vhost 提供一个 django 应用程序吗?的主要内容,如果未能解决你的问题,请参考以下文章

Apache vhost 解析为 localhost 文档根目录

Symfony 2 Apache 2.4 php7 升级 Vhost 文件

在通配符 vhost apache (xampp) 设置中重定向子子域

PHP 5.2 和 PHP 5.3 在同一 Apache (Debian) 上的 vHost 中并排使用?

从当前运行的 Apache 获取 Apache Vhost

Apache2 Vhost 不适用于 Symfony 2.8