首页 文章

如何在aws中使用django app配置弹性IP?

提问于
浏览
0

我正在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项目也被停止了 . 我没有手动停止它 . 请帮助我在关闭putty会话后继续跑步 .

谢谢,Kripa Sharma

2 回答

  • 0

    看看这个Answer

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

    您可以使用this instruction查看如何在不到5分钟的时间内部署Django应用程序 .

  • 0

    问题

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

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

    django-admin runserver [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等终端多路复用器中运行,但它不是推荐的或稳定的长期解决方案 .

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

相关问题