【问题标题】:What is the correct way to leave a Django server running on an EC2 instance?让 Django 服务器在 EC2 实例上运行的正确方法是什么?
【发布时间】:2012-11-23 06:00:56
【问题描述】:

我目前正在使用屏幕并正在做

sudo python manage.py runserver 0.0.0.0:80

然后关闭终端。似乎有点像黑客。正确的做法是什么?

【问题讨论】:

    标签: python django amazon-ec2 webserver


    【解决方案1】:

    runserver 是一个开发服务器。您不应该在生产中使用它,正如 https://docs.djangoproject.com/en/1.4/ref/django-admin/#runserver-port-or-address-port 所解释的那样:

    请勿在生产环境中使用此服务器。它没有经过安全审计或性能测试。 (这就是它会保持下去的方式。我们的业务是制作 Web 框架,而不是 Web 服务器,因此改进此服务器以使其能够处理生产环境超出了 Django 的范围。)

    您应该使用https://docs.djangoproject.com/en/1.4/howto/deployment/ 中给出的方法之一在生产中部署 Django 项目。我已经将 mod_wsgi 与 Apache 一起使用,gunicorn 与 nginx 一起使用 - 精确的解决方案取决于您和您的项目的要求,但 Django 手册的部署部分包含各种选项。

    【讨论】:

      【解决方案2】:

      这确实不是一个好主意;不应在本地开发机器之外使用内置的开发服务器。 Look at the docs:

      请勿在生产环境中使用此服务器。它没有经过安全审计或性能测试。 (这就是它会保持下去的方式。我们的业务是制作 Web 框架,而不是 Web 服务器,因此改进此服务器以使其能够处理生产环境超出了 Django 的范围。)

      你应该设置 nginx+gunicorn/uwsgi 或者只是 apache+mod_wsgi。

      如果您的 ec2 实例完全无法与外界进行所有可能的通信(这不太可能),您可以使用 screen 命令

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-11-19
        • 1970-01-01
        • 2018-12-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-10-09
        相关资源
        最近更新 更多