Django VirtualHosting:如何在一个VPS上托管具有不同域的多个Django项目

Django VirtualHosting:如何在一个VPS上托管具有不同域的多个Django项目,django,apache,virtualhost,vps,Django,Apache,Virtualhost,Vps,因为我听说您可以在一个VPS上托管多个网站,所以我尝试用django(未安装在VenEnvironment中)和apache使用mod_wsgi来实现它 当我第一次得到这个VPS的时候,我真的开始使用django,并且遵循django官方网站的一些教程,我现在开始使用它了。问题如下- 1。不同的教程假定apache的目录结构不同 我从digiocean购买的Ubuntu服务器上安装了apache,只需点击一下django设置,就可以得到如下结构 /etc/apache2/ 在教程(官方)之后,我

因为我听说您可以在一个VPS上托管多个网站,所以我尝试用django(未安装在VenEnvironment中)和apache使用mod_wsgi来实现它

当我第一次得到这个VPS的时候,我真的开始使用django,并且遵循django官方网站的一些教程,我现在开始使用它了。问题如下-

1。不同的教程假定apache的目录结构不同 我从digiocean购买的Ubuntu服务器上安装了apache,只需点击一下django设置,就可以得到如下结构

/etc/apache2/ 在教程(官方)之后,我开始了我的第一个项目(site1)。 现在我有了这个新网站,它也是基于django的。所以我想也许有一种体面的方式把他们两个都放在一起

2。apache中的许多.conf文件

我知道这听起来可能是个蹩脚的问题,但当我用mod_wsgi在apache上阅读django时,我发现一些说明告诉我必须在httpd.conf文件中进行更改,这让我想知道为什么“站点可用”文件夹中有vhost文件

3。托管基于(.php)和django的两个站点之间的差异

我阅读了很多关于VirtualHost配置下的DocumentRoot配置的参考资料,而我的所有文档都在

/home/django/

如果托管除django之外的两个站点之间存在差异,那么可能会有人愿意回答

现在说到正题 a。我应该将项目文件夹移动到/var/www/if吗?为什么以及符号链接会起作用

b。正如django教程所建议的那样,我应该在httpd.conf中配置WSGISCriptAlias和其他设置,我应该这样做还是应该怎么做,这对我理解非常重要,也许有人可以为我指出可以了解它的方向

c。我有一个django的全系统安装,它在虚拟主机中实现了这一效果

d。我应该使用不同的端口运行不同的网站,如果是,我将如何配置

e。请向我推荐一种经过apache和mod_wsgi测试的方法(请)


提前谢谢。

我会尽量简洁

  • 你真的需要阅读(甚至是阅读),阅读越多越好,因为在这里你不会得到一个关于如何在apache上为django站点提供详细信息和示例的明确答案
  • 在这里,您的项目由您决定,换句话说,它不一定要放在
    /var/www/
  • 为了同时保存2+django项目,请尝试使用单独的wsgi守护进程。祝你好运。这将不允许不同的应用程序相互干扰。然而,我建议在
    /etc/apache2/sites available
    文件中为您的项目设置配置(作为vhost)(通常每个文件一个)
  • 我强烈建议您不要使用全球安装的django,而是为每个项目单独设置一个(使用venv或其他方式取决于您)。这样,您将使升级包和django的过程更加安全

  • 我会尽量简洁

  • 你真的需要阅读(甚至是阅读),阅读越多越好,因为在这里你不会得到一个关于如何在apache上为django站点提供详细信息和示例的明确答案
  • 在这里,您的项目由您决定,换句话说,它不一定要放在
    /var/www/
  • 为了同时保存2+django项目,请尝试使用单独的wsgi守护进程。祝你好运。这将不允许不同的应用程序相互干扰。然而,我建议在
    /etc/apache2/sites available
    文件中为您的项目设置配置(作为vhost)(通常每个文件一个)
  • 我强烈建议您不要使用全球安装的django,而是为每个项目单独设置一个(使用venv或其他方式取决于您)。这样,您将使升级包和django的过程更加安全

  • 我只是换了几行就成功了。我在这两个虚拟主机块中都添加了ServerAlias,它工作了。我只需更改几行代码就可以工作。我在这两个虚拟主机块中都添加了ServerAlias,它成功了。
       |-- apache2.conf
       |       `--  ports.conf
       |-- mods-enabled
       |       |-- *.load
       |       `-- *.conf
       |-- conf-enabled
       |       `-- *.conf
       `-- sites-enabled
               `-- *.conf