【问题标题】:How to run a Django project on Ubuntu in AWS EC2?如何在 AWS EC2 中的 Ubuntu 上运行 Django 项目?
【发布时间】:2020-03-22 17:16:27
【问题描述】:
我创建了一个 Django 应用程序并上传到 AWS EC2。只有在 AWS 命令行中运行 python manage.py 时,我才能使用公共 IP 地址访问该站点。
如果我关闭 Putty 窗口,我将无法访问该站点。即使关闭命令行/putty,如何确保站点始终可用?
我尝试了 WSGI 选项,但它根本不起作用。感谢您帮助我们提供在 AWS 中运行 Python 应用程序的解决方案。
【问题讨论】:
标签:
python
django
amazon-ec2
【解决方案1】:
这是因为您在 SSH 会话中运行应用程序,这意味着结束会话 (SIGHUP) 将终止您的应用程序。
在您断开 SSH 后,有几种方法可以让应用程序继续运行,最简单的方法是在 screen 会话中运行它,并在断开 SSH 连接时保持该实例运行,这种方法的优点是您可以当您重新连接到这台机器时仍然可以控制应用程序并控制应用程序的状态,还可能会看到日志。
虽然它可能很酷,但它被认为是一个补丁,但更稳定和可靠的方法是创建一个运行应用程序的服务,并允许您使用 @987654323 的漂亮包装器启动、停止和查看日志@。
通过屏幕保持进程运行:
- 首先,您必须确保安装了适合您所需发行版的屏幕(
apt-get 或 yum)。
- 运行
screen。
- 像在屏幕外一样运行应用程序。
- 按
Ctrl+A,然后按d,从屏幕会话中分离。
- 断开与 SSH 的连接,看看服务是否仍在运行。
创建systemd 服务有点复杂,因此请尝试通读following manual。