【发布时间】:2017-03-13 08:30:08
【问题描述】:
我正在设置一台新的服务器机器,它将托管多个 django 网站。
我必须指出,我拥有(开发并绝对控制)将在服务器上运行的所有网站。
我很确定所有的网站都将使用相同版本的:
- django
- 独角兽
- nginx
- postgreSQL 和 psycopg2(尽管有些网站会使用地理空间和其他扩展)
我知道 django 应用程序之间唯一不同的是:
- 使用的 python 模块(可能对所需的 python 版本有影响)
我可以理解使用 virtualenv 来管理项目具有特定 python 模块(甚至是 python 版本要求)的实例,但对我来说(在资源方面)似乎很浪费,拥有每个项目(通过 virtualenv),分别安装 django、nginx、gunicorn ...等。
那么我的问题是:
全局安装 django、gunicorn、nginx、postgreSQL 和 psycopg2 并仅使用 virtualenv 进行管理是否“可接受”(或在上述情况下被视为最佳实践)项目之间不同的部分(例如python模块/版本)?
注意:在这种情况下,将有一个 nginx 服务器处理多个域。
最后但并非最不重要的一点,是否可以使用 virtualenv 来管理不同项目中的不同 postgreSQL 扩展?
【问题讨论】:
标签: python django postgresql nginx virtualenv