如何在单个 Droplet 中托管多个站点

How to host multiple site in single droplet

我刚刚通过以下 link 在数字海洋上托管了我的网站。 https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-18-04

它就像一个魅力。

但我也想在单个 drop let 上托管多个站点。我不知道如何在单个 Droplet 上托管多个站点。创建 gunicorn 服务文件和套接字文件时名称是否重要。我的意思是我需要为单独的项目创建单独的服务和套接字文件,我还需要为单独的项目创建单独的套接字文件吗?

您只需要在执行 "Configure Nginx to Proxy Pass to Gunicorn" 部分时更改项目名称和 server_name。如果操作正确,在您重新启动 nginx 后,两个网站都将正常工作。

是的,您只需为每个项目创建单独的 *.service 和 *.socket 文件。 只是不要忘记将本教程中的所有字符串从

更改为
gunicorn.service
gunicorn.socket

your_new_project.service
your_new_project.socket

当我遇到类似问题时 this DO 网站的回答帮助了我。

您可以 运行 拥有多少资源(RAM、磁盘 space)。为此,我在下面列出了一些提示:

  • 每个站点在其项目文件夹中都有单独的 virtualenvs。
  • 管理数据库名称以防止冲突
  • 不要使用端口 8000 并将其保留用于测试。
  • 为每个项目创建单独的 systemd 服务。 (记得为每个服务使用单独的名称)
  • 因此您应该为每个站点创建单独的套接字。
  • 首先从每个站点 1 个工作人员开始,以降低您的资源成本。
  • 为您拥有的每个站点创建单独的 nginx 块。

通过这些技巧,您可以轻松地在一个 droplet 中拥有多个站点。