python - 如何在 AWS EC2 中的 Ubuntu 上运行 Django 项目?
问题描述
我创建了一个 Django 应用程序并上传到 AWS EC2。仅当我python manage.py
在 AWS 命令行中运行时,我才能使用公共 IP 地址访问该站点。
如果我关闭 Putty 窗口,我将无法访问该站点。即使关闭命令行/腻子,如何确保该站点始终可用?
我尝试了 WSGI 选项,但它根本不起作用。感谢您帮助我们提供在 AWS 中运行 Python 应用程序的解决方案。
解决方案
发生这种情况是因为您在 SSH 会话中运行应用程序,这意味着结束会话 (SIGHUP) 将终止您的应用程序。
断开 SSH 后,有几种方法可以让应用程序继续运行,最简单的方法是在screen
会话中运行它,并在断开 SSH 连接时保持该实例运行,这种方法的优点是当你仍然可以控制应用程序时正在重新连接到这台机器并控制应用程序的状态,还可能会看到日志。
虽然它可能很酷,但它被认为是一个补丁,但更稳定和可靠的方法是创建一个运行应用程序的服务,并允许您使用systemd
.
保持进程与屏幕一起运行:
- 首先,您必须确保已安装(
apt-get
或yum
)任何适合您所需发行版的屏幕。 - 运行
screen
。 - 就像在屏幕外一样运行应用程序。
Ctrl+A
按,然后按 与屏幕会话分离d
。- 断开 SSH 连接,查看服务如何仍在运行。
创建systemd
服务有点复杂,因此请尝试通读以下手册。
推荐阅读
- r - 如何在 R 中将列表与多个数据帧组合在一起
- python - 索引 [::-1] 以同时反转所有 2D 数组行以及所有 3D 和 4D 数组列和行 Python
- python - 赋予命名变量以动态运行
- ios - Flutter iOS 应用程序在模拟器中运行完美,但在真实设备中运行不正常
- git - 如何在 VS Code 中查看远程提交历史记录?
- python - 无法使用来自 Google Cloud 的 Jupyter Notebook 连接到 Google Colab
- python - 精确分数警告导致分数 = 0 sklearn
- python - 如何在odoo12中对many2many模型进行搜索?
- javascript - 如何在生产中混淆 Tailwindcss HTML 类名?
- javascript - 如何让机器人在 Discord 上编辑自己的消息