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

时间:2015-10-15 16:10:40

标签: django apache virtualhost vps

因为我听说你可以在一个VPS上托管多个网站,所以我试图用django(未安装在VEnvironment中)和使用带有apache的mod_wsgi来实现它。

当我第一次得到这个VPS时,我真的开始使用django了,并且继django官方网站的一些教程之后,我现在开始工作,问题如下 -

1。假设apache的目录结构不同,不同的教程 我在我的Ubuntu服务器上安装apache后得到的结构是我从digiocean购买的,只需点击一下django,就像这样。

的/ etc / apache2的/

   |-- apache2.conf
   |       `--  ports.conf
   |-- mods-enabled
   |       |-- *.load
   |       `-- *.conf
   |-- conf-enabled
   |       `-- *.conf
   `-- sites-enabled
           `-- *.conf

按照教程(官方),我得到了第一个项目(site1)。 现在我有了这个新网站,这也是基于django。所以我想也许可以有一种体面的方式将它们同时托管在一起。

2。 apache中的许多.conf文件

我知道这可能听起来像是一个蹩脚的问题,但当我用mod_wsgi在apache上阅读django时,我发现说明我必须在 httpd.conf 文件让我想知道为什么在sites-available文件夹中有任何vhost文件。

第3。托管两个站点之间的区别是基于(.php)和django

我看到有很多关于VirtualHost配置下的 DocumentRoot 配置的参考,而我的所有文档都在

/home/django/

如果主持除django之外的两个网站之间存在差异,那么可能会有人回答。

现在即将到来

一个。我应该将我的项目文件夹移动到/ var / www /如果是这样,为什么和符号链接会发挥作用

湾正如django教程建议我应该在httpd.conf中配置WSGISCriptAlias和其他设置,我应该选择这个还是我应该做什么,这对我来说真的很重要,也许有人可以指出我可以学习它的方向

℃。我有一个系统范围的django安装在虚拟主机中有效。

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

即建议我使用apache和mod_wsgi(请)

进行测试

提前致谢。

1 个答案:

答案 0 :(得分:0)

我会尽量做到简洁。

  1. 你真的需要阅读docs(甚至this),你读的越多越好,因为你不会在这里得到关于如何服务django的明确答案 - 有关详细信息和示例的apache网站。
  2. 您的项目是由您决定的,换句话说,它不一定要放在/var/www/
  3. 为了同时容纳2个以上的django项目,请尝试使用单独的wsgi守护程序进程。有一个look。这将不允许不同的应用程序相互干扰。然而,我建议在/etc/apache2/sites-available文件中为您的项目(作为vhosts)设置配置(通常每个文件一个)。
  4. 我强烈建议你不要使用全局安装的django,但要为每个项目分别使用(使用venv或其他方式取决于你)。通过这种方式,您可以更加安全地升级包和django。