如何在同一服务器/域上运行两个单独的django实例?

问题描述 投票:0回答:2

详细说明,我们设置了一台服务器来运行 django。问题是,在将更改推送到生产之前,我们需要建立最终用户可以测试的“公共”测试服务器。

现在,通常我们会有

production.domain.com
testing.domain.com
并分别运行它们。然而,由于我们无法控制的情况,我们只能访问一个域。我们暂时称其为
program.domain.com

有没有办法设置两个完全独立的 django 实例(也就是我们不希望生产版本的管理员能够访问演示数据,反之亦然),这样我们就有

program.domain.com/production
program.domain.com/development
环境?

我试图查看Django的“站点”框架,但据我所知,它所能做的就是分离域,而不是路径,并且它的两个“站点”都能够访问相同的数据。

但是,正如我所说,我们希望将测试数据和生产数据分开。然而,我们希望让我们的最终用户测试人员能够访问他们可以修改的版本,保持生产、公共测试和本地开发(runserver 命令)版本的分离。

django
2个回答
0
投票

我想说你使用

/production
/development
路径来选择要使用的数据库。您可以从这里阅读有关多租户的更多信息https://books.agiliq.com/projects/django-multi-tenant/en/latest/


0
投票

Apache虚拟主机可以实现这一点,您可以简单地配置如下(假设它们具有相同的依赖关系):

<VirtualHost *:80>
    ServerName mysite.com
    ServerAlias www.mysite.com
    WSGIDaemonProcess myproc processes=2 threads=15 python-home=/path/to/myenv/venv
    WSGIProcessGroup myproc
    WSGIScriptAlias /myapp1 /path/to/myapp1/wsgi/main.wsgi
    <Directory /path/to/myapp1/wsgi>
        Require all granted
    </Directory>
    WSGIScriptAlias /myapp2 /path/to/myapp2/wsgi/main.wsgi
    <Directory /path/to/myapp2/wsgi>
        Require all granted
    </Directory>
</VirtualHost>

您可以参考这篇博客文章了解更多配置选项。

© www.soinside.com 2019 - 2024. All rights reserved.