【问题标题】:How do you keep a django digital ocean droplet live at all times?你如何让 django 数字海洋水滴始终保持活力?
【发布时间】:2014-02-01 06:55:59
【问题描述】:

如果我从 Digital Ocean 购买了一个 Droplet 并在其上安装 Django 并获得一个基本的 hello world 网页,我如何运行此服务器并使其保持运行,而无需终端保持 24/7 全天候开放?

例如,如果液滴 I.P.地址是162.243.250.17:8001,我输入了这个代码:

python manage.py runserver 162.243.250.17:8001

我会得到输出:

Validating models...

0 errors found
January 31, 2014 - 22:58:23
Django version 1.6.1, using settings 'django_test.settings'
Starting development server at http://162.243.250.17:8001/
Quit the server with CONTROL-C.

但是,即使我关闭了我的终端,我该如何保持这种状态呢?我需要一个网站来保持活力。

更新我找到了解决方案

如果您的生产服务器/droplet 正在运行 Linux,这是第一步

为了让您的网站像已准备好生产一样上线,您需要像这样安装 nginx:

sudo apt-get install nginx

最后,让您的主页上线并显示“欢迎使用 nginx!”通过在终端中输入以下内容来喜欢主页:

sudo service nginx start

就是这样!

下一步是让 Django 开发服务器的地址替换为“Welcome to nginx!”。页。我现在就开始着手解决这个问题,我会在这个帖子中更新解决方案。

【问题讨论】:

    标签: django


    【解决方案1】:

    这不是运行基于 django 的网络服务器的方式。您需要使用 apache/nginx。 如果你使用 nginx,你可以将它与像 gunicorn 和 supervisord 这样的 wsgi 容器结合使用。

    例如,查看此处http://michal.karzynski.pl/blog/2013/06/09/django-nginx-gunicorn-virtualenv-supervisor/ 或搜索这些字词。

    【讨论】:

    • 这是一个很棒的教程,谢谢分享
    【解决方案2】:

    eran 说的是绝对正确的:你永远不会在生产中使用内置的 django 服务器,而是使用 nginx 或 gunicorn/uwsgi。

    但是,此时您似乎正在学习 Django。因此,即使您只是关闭终端(如果您是 SSH-ing)或关闭浏览器,只要您不按 ctrl + c 或终止正在运行的服务器,程序也应该运行。但是,您会发现它经常崩溃并且速度非常慢。

    此时学习 nginx 和 uwsgi 的工作量太大了。首先在笔记本电脑上正确学习 django,当你觉得足够舒服时,再部署到数字海洋上。为什么要花钱,尽管 5 美元很便宜。

    【讨论】:

    • 不,如果服务器在 SSH 会话中运行,它将在会话终止时退出。
    • 其实我并不知道。谢谢。
    猜你喜欢
    • 2022-01-10
    • 1970-01-01
    • 2019-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多