我正在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 回答
看看这个Answer
我强烈建议您开始使用Elastic Beanstalk(Python实例)来为您处理所有这些步骤 . 设置非常简单,无需担心您列出的任何步骤 .
您可以使用this instruction查看如何在不到5分钟的时间内部署Django应用程序 .
问题
您正在尝试将调试服务器保留为远程部署的应用程序 .
您可能需要查看the runserver command documentation . 以下是相关部分:
一个网络服务器
浏览了上述文档后,您可能需要查看"How to deploy with WSGI" section,它为常用的Web服务器提供了一些建议 . 我最喜欢的,Gunicorn,包含一个用法示例:
决定并安装了一个网络服务器之后,你需要“守护”它并将它暴露给世界 .
前者通常是通过在您的操作系统上创建服务来完成的,对于ubuntu,根据版本的不同,它可能是upstart或systemd . Gunicorn docs have examples for both .
后者通常使用http-server / proxy(例如nginx或apache httpd)来实现 . 再一次,Gunicorn has an example for us .
你可以看到为什么我非常喜欢它☺️
后记
虽然技术上可以将调试服务器作为服务运行,甚至可以在GNU screen或tmux等终端多路复用器中运行,但它不是推荐的或稳定的长期解决方案 .
也就是说,这些非常有用,所以请阅读上述工具并学会使用它们,因为它们将来在您的工具集中非常宝贵,例如为了避免意外终止长时间运行的命令(例如迁移)等