Django VirtualHosting:如何在一个主机上托管具有不同域的多个 Django 项目 VPS
Django VirtualHosting: How to host multiple django projects with different domains on one VPS
因为我听说您可以在一个 VPS 上托管多个网站,所以我尝试使用 django(未安装在 VEnvironment 中)并使用 mod_wsgi 和 apache 来实现它。
当我第一次得到这个时 VPS 我真的开始使用 django,并按照 django 官方网站的一些教程,我现在开始工作,问题如下 -
1.不同的教程采用不同的 apache 目录结构
在我从 digiocean 购买的 Ubuntu 服务器上安装 apache 后得到的结构是这样的。
/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 文件夹中有虚拟主机文件。
3。托管两个网站之间的区别说 (.php ) 基于和 django
我看到有很多关于 VirtualHost 配置下的 DocumentRoot 配置的参考资料,而我的所有文档都在
下
/home/django/
如果除了 django 之外托管两个站点之间存在差异,也许有人会好心回答。
进入正题
一个。我应该将我的项目文件夹移动到 /var/www/ 如果是这样为什么以及符号链接是否可以解决问题
b。正如 django 教程所建议的那样,我应该在 httpd.conf 中配置 WSGISCriptAlias 和其他设置,我应该这样做还是应该做什么,这对我来说非常重要,了解也许有人可以指出我可以学习的方向关于它。
c。我在系统范围内安装了一个 django,它在虚拟主机中起到了这种作用。
d.我应该对 运行 不同的网站使用不同的端口吗?如果是,我将如何配置它。
e。向我推荐一种经过 apache 和 mod_wsgi(请)
测试的方法
提前致谢。
我会尽量简洁。
- 你真的需要阅读 docs (and even this) 并且你读得越多越好,因为你不会在这里得到关于如何在 apache 上提供 django 站点的明确答案以及详细信息和示例。
- 你的项目是否存在取决于你,换句话说,它不一定要放在
/var/www/
- 为了同时容纳 2 个以上的 django 项目,请尝试使用单独的 wsgi 守护进程。有一个look。这将不允许不同的应用程序相互干扰。然而,我建议在
/etc/apache2/sites-available
个文件(通常每个文件一个)中为您的项目(作为虚拟主机)设置配置。
- 我强烈建议您不要使用全局安装的 django,而是为每个项目单独使用(使用 venv 或其他方式取决于您)。这样你将使升级包和 django 的过程更加安全。
因为我听说您可以在一个 VPS 上托管多个网站,所以我尝试使用 django(未安装在 VEnvironment 中)并使用 mod_wsgi 和 apache 来实现它。
当我第一次得到这个时 VPS 我真的开始使用 django,并按照 django 官方网站的一些教程,我现在开始工作,问题如下 -
1.不同的教程采用不同的 apache 目录结构 在我从 digiocean 购买的 Ubuntu 服务器上安装 apache 后得到的结构是这样的。
/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 文件夹中有虚拟主机文件。
3。托管两个网站之间的区别说 (.php ) 基于和 django
我看到有很多关于 VirtualHost 配置下的 DocumentRoot 配置的参考资料,而我的所有文档都在
下/home/django/
如果除了 django 之外托管两个站点之间存在差异,也许有人会好心回答。
进入正题
一个。我应该将我的项目文件夹移动到 /var/www/ 如果是这样为什么以及符号链接是否可以解决问题
b。正如 django 教程所建议的那样,我应该在 httpd.conf 中配置 WSGISCriptAlias 和其他设置,我应该这样做还是应该做什么,这对我来说非常重要,了解也许有人可以指出我可以学习的方向关于它。
c。我在系统范围内安装了一个 django,它在虚拟主机中起到了这种作用。
d.我应该对 运行 不同的网站使用不同的端口吗?如果是,我将如何配置它。
e。向我推荐一种经过 apache 和 mod_wsgi(请)
测试的方法提前致谢。
我会尽量简洁。
- 你真的需要阅读 docs (and even this) 并且你读得越多越好,因为你不会在这里得到关于如何在 apache 上提供 django 站点的明确答案以及详细信息和示例。
- 你的项目是否存在取决于你,换句话说,它不一定要放在
/var/www/
- 为了同时容纳 2 个以上的 django 项目,请尝试使用单独的 wsgi 守护进程。有一个look。这将不允许不同的应用程序相互干扰。然而,我建议在
/etc/apache2/sites-available
个文件(通常每个文件一个)中为您的项目(作为虚拟主机)设置配置。 - 我强烈建议您不要使用全局安装的 django,而是为每个项目单独使用(使用 venv 或其他方式取决于您)。这样你将使升级包和 django 的过程更加安全。