首页 > 解决方案 > 从一台服务器运行两个 Web 应用程序?

问题描述

我有一台服务器,其中包含我制作的第一个 webapp,服务器容量使用了一半(cpu 和 hdd),但它仍然可以赚到一些钱。我不想删除该应用程序,但我想在那里托管一个新项目,但是设置非常……让我们说“我的第一个应用程序样式”不好。例如,那里没有虚拟环境。

这是我正在考虑的文件夹结构:

/public_html/
     /apps
     /core_app
     /3rd_apps #old-app django is here
     /static
     /media
     /new_app #this would be my new app
         /new app folders #with different django

new_app 将拥有自己的 django 和其他所有内容。目前我的环境变量指向应用程序、3rd_apps 和 core_app。我不确定如果我引入一个新应用程序并将更多环境变量指向 new_app 文件夹会发生什么。

另外,目前我在那里使用 nginx、gunicorn、postgres 服务器和主管。

我认为为新应用程序使用相同的数据库服务器(并创建一个新数据库)应该不是问题。主管应该也没有问题。我想我可以设置 nginx 来处理不同位置的两个域。

我最大的恐惧是两个 django 会在没有虚拟环境的情况下互相争斗。我不知道如何测试这个,因为我没有免费的服务器。

有没有人有这方面的经验?一些建议如何做到这一点?

标签: django

解决方案


现在只要以正确的方式做事,你就可以避免很多未来的头痛。

如果您不想使用 Docker 等所有容器,我建议

  • 每个应用程序一个 UNIX 用户
  • 应用用户主目录中的 virtualenv(~/venv例如)
  • 用户主目录中的 Git 工作副本(~/app例如)
  • ~/var/static用户主目录中的静态/媒体目录(~/var/media例如)

只要应用程序具有单独的数据库,共享数据库服务器就可以了。


推荐阅读