【问题标题】:How to configure Elastic IP with django app in aws?如何在 aws 中使用 django 应用程序配置弹性 IP?
【发布时间】:2026-02-06 19:30:01
【问题描述】:

我正在 EC2-ubuntu 中使用 django 构建一个应用程序,并且我已将 Elastic ip 与我的实例相关联。

我已完成以下步骤: 1. 在 ec2 免费层中首次创建 ubuntu 实例。 2.安装python。 3.安装点子。 4.安装django。 5. 使用 django-admin startproject 创建一个 django 项目。 6. 使用这些命令运行服务器 python manage.py runserver 0.0.0.0:80 7. 创建一个弹性ip并关联到实例。 8. 使用 http 0.0.0.0:80 地址配置安全入站设置。 9. 能够使用任何浏览器 ping 我的项目。

但问题是当我关闭我提供 runserver 命令的 putty 会话时,django 项目也停止了。我没有手动停止它。 请帮助我在关闭腻子会话后继续运行。

谢谢, 克里帕夏尔马

【问题讨论】:

    标签: django amazon-web-services amazon-ec2


    【解决方案1】:

    看看这个Answer

    我强烈建议您开始使用 Elastic Beanstalk(Python 实例)来为您处理所有这些步骤。设置非常简单,无需担心您列出的任何步骤。

    您可以使用this instruction 了解如何在 5 分钟内部署 Django 应用程序。

    【讨论】:

      【解决方案2】:

      问题

      您正在尝试为远程部署的应用程序保留调试服务器。

      您可能需要查看the runserver command documentation。以下是相关部分:

      django-admin 运行服务器 [addrport]

      在本地机器上启动一个轻量级开发 Web 服务器。默认情况下,服务器在 IP 地址 127.0.0.1 的 8000 端口上运行。您可以显式传入 IP 地址和端口号。

      ...

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

      网络服务器

      浏览完上述文档后,您可能想查看"How to deploy with WSGI" section,它为常用的 Web 服务器提供了一些建议。我最喜欢的 Gunicorn 包含一个用法示例:

      $ pip install gunicorn
      $ gunicorn myproject.wsgi
      

      决定并安装了网络服务器后,您需要“守护”它并将其公开。

      前者通常是通过在您的操作系统上创建服务来完成的,对于 ubuntu,它可能是 upstart 或 systemd,具体取决于版本。 Gunicorn docs have examples for both.

      后者通常通过 http-server/proxy 实现,例如 nginx 或 apache httpd。再说一次,Gunicorn has an example for us

      你可以明白我为什么这么喜欢它☺️

      结语

      虽然技术上可以将调试服务器作为服务运行,甚至可以在 GNU screentmux 等终端多路复用器中运行,但这不是推荐或稳定的长期解决方案。

      也就是说,了解这些非常有用,因此请阅读上述工具并学习使用它们,因为它们将来在您的工具集中将非常宝贵,例如避免意外终止长时间运行的命令(如迁移)等

      【讨论】:

        最近更新 更多