python - 一台服务器上的多个 Django 应用程序

标签 python django apache mod-wsgi

如何在多个域上提供多个 Django 应用程序?

比如我有

djangoapp1.com 和 djangoapp2.com

然后我在两个不同的位置有两个独立的应用

/srv/www/djangoapp1 /srv/www/djangoapp2

我正在使用 mod_wsgi 运行 Apache2,目前我的 httpd.conf 中有以下内容

WSGIScriptAlias / /srv/www/app1/app1/wsgi.py
WSGIPythonPath /srv/www/app1

<Directory /srv/www/app1/system>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>

然后我显然也有虚拟主机,我得到了 django 默认安装页面,但现在我想提供我的第二个应用程序,有人能指出我正确的方法吗?

Django 五世:1.4.1

最佳答案

您可以在此处采用多种方法,没有简单的答案 - 这取决于您的要求和限制。

可能可行的最简单的方法很可能是@Hedde 建议的方法——在虚拟主机中为每个站点定义 WSGI 配置。

第二种可能更灵活的方法是在它自己的包含应用程序服务器的内部运行每个 Django 应用程序,例如gunicorn (希望在 virtualenv 中以隔离特定于应用程序的依赖项)在不同的端口上,然后使用 Apache 甚至 Nginx作为应用程序流量的代理。

这涉及到更复杂的服务器环境来管理,但为您提供了能够单独管理应用程序的优势。

您可以一次为一个应用程序重新配置可用工作人员、升级应用程序版本、更改 settings.py 等,而不必重新启动单个整体进程。

此外,虽然当然有可能,但监控同一 Apache 进程中的虚拟主机比单独监控单个应用程序服务器实例更复杂。

YMMV

关于python - 一台服务器上的多个 Django 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12156990/

相关文章:

eclipse - 无法在 Eclipse 中安装 Apache Tomcat

python - 在新数据框列的行之间填充

javascript - 为什么克隆 Django 内联表单集会生成具有相似 ID 和名称的表单?

python - 分割字符串然后按字符数分割

mysql - 我可以使用 mod_auth_mysql 更新用户数据库的上次登录时间戳吗?

apache - 在不更改url的情况下通过tomcat显示主页

python - 使用 pandas 保存大型 Excel 文件时出错

python - Django 1.5->1.6 无法导入名称 zip_longest

python - Django 3.1 - "OperationalError: no such table"在进行或应用迁移之前使用 ORM 类模型时

python - 在 Django admin 中添加内联多对多对象