我正在EC2-ubuntu中使用django构建应用程序,并且我已将Elastic ip与我的实例相关联。
我已完成以下步骤: 1.首先在ec2免费层创建ubuntu实例。 2.安装了python。 3.安装了点子。 4.安装django。 5.使用django-admin startproject创建一个django项目。 6.使用这些commads运行服务器python manage.py runserver 0.0.0.0:80 7.创建一个弹性ip并与实例关联。 8.使用http 0.0.0.0:80地址配置安全入站设置。 9.能够使用任何浏览器ping我的项目。
但问题是当我关闭我提供runserver命令的putty会话时,django项目也会停止。我没有手动停止它。 请帮助我在关闭putty会话后继续跑步。
谢谢, 克里帕夏尔马
答案 0 :(得分:0)
看看这个Answer
我强烈建议您开始使用Elastic Beanstalk(Python实例)来为您处理所有这些步骤。设置非常简单,无需担心您列出的任何步骤。
您可以使用this instruction查看如何在不到5分钟的时间内部署Django应用。
答案 1 :(得分: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
决定并安装了网络服务器后,您需要" daemonize"把它暴露给世界。
前者通常是通过在您的操作系统上创建服务来完成的,对于ubuntu,根据版本的不同,它可能是upstart或systemd。 Gunicorn docs have examples for both
后者通常使用http-server / proxy(例如nginx或apache httpd)来实现。再次,Gunicorn has an example for us。
你可以看到我为什么这么喜欢☺️
虽然技术上可以将调试服务器作为服务运行,甚至可以在GNU screen或tmux等终端多路复用器中运行,但它不是推荐的或稳定的长期解决方案。
也就是说,这些对于了解非常有用,所以请阅读上述工具并学会使用它们,因为它们将来在您的工具集中非常宝贵,例如为了避免意外终止长时间运行的命令(如迁移)等。