【问题标题】:How to host multiple site in single droplet如何在单个 Droplet 中托管多个站点
【发布时间】:2019-08-13 21:00:45
【问题描述】:

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

它就像一个魅力。

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

【问题讨论】:

    标签: python django digital-ocean


    【解决方案1】:

    您可以运行尽可能多的资源(RAM、磁盘空间)。为此,我在下面列出了一些提示:

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

    通过这些技巧,您可以轻松地在一个 Droplet 中创建多个站点。

    【讨论】:

    • 是否还需要为每个项目生成单独的 sock 文件
    【解决方案2】:

    是的,您只需为每个项目创建单独的 *.service 和 *.socket 文件。 并且不要忘记从

    更改本教程中的所有字符串
    gunicorn.service
    gunicorn.socket
    

    your_new_project.service
    your_new_project.socket
    

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

    【讨论】:

    • 是否还需要为每个项目生成单独的 sock 文件
    • 是的,正如我所说,对于小错误,我的意思是每个项目都有单独的文件,抱歉。只需按照该教程进行操作,并将 gunicorn.sock[et] 更改为 your_new_project.sock[et] 文件。
    【解决方案3】:

    在执行“将 Nginx 配置为代理传递给 Gunicorn”部分时,您只需更改项目名称和 server_name。如果操作正确,重启 nginx 后两个网站都可以正常工作。

    【讨论】:

    • 是否还需要为每个项目生成单独的 sock 文件
    猜你喜欢
    • 2011-05-02
    • 1970-01-01
    • 2016-10-31
    • 2012-02-11
    • 2014-12-12
    • 2011-04-14
    • 2018-10-27
    • 2012-05-10
    • 1970-01-01
    相关资源
    最近更新 更多