首页 > 解决方案 > 如何在 AWS EC2 中的 Ubuntu 上运行 Django 项目?

问题描述

我创建了一个 Django 应用程序并上传到 AWS EC2。仅当我python manage.py在 AWS 命令​​行中运行时,我才能使用公共 IP 地址访问该站点。

如果我关闭 Putty 窗口,我将无法访问该站点。即使关闭命令行/腻子,如何确保该站点始终可用?

我尝试了 WSGI 选项,但它根本不起作用。感谢您帮助我们提供在 AWS 中运行 Python 应用程序的解决方案。

标签: pythondjangoamazon-ec2

解决方案


发生这种情况是因为您在 SSH 会话中运行应用程序,这意味着结束会话 (SIGHUP) 将终止您的应用程序。

断开 SSH 后,有几种方法可以让应用程序继续运行,最简单的方法是在screen会话中运行它,并在断开 SSH 连接时保持该实例运行,这种方法的优点是当你仍然可以控制应用程序时正在重新连接到这台机器并控制应用程序的状态,还可能会看到日志。

虽然它可能很酷,但它被认为是一个补丁,但更稳定和可靠的方法是创建一个运行应用程序的服务,并允许您使用systemd.

保持进程与屏幕一起运行:

  • 首先,您必须确保已安装(apt-getyum)任何适合您所需发行版的屏幕。
  • 运行screen
  • 就像在屏幕外一样运行应用程序。
  • Ctrl+A按,然后按 与屏幕会话分离d
  • 断开 SSH 连接,查看服务如何仍在运行。

创建systemd服务有点复杂,因此请尝试通读以下手册


推荐阅读