首页 >后端开发 >Python教程 >使用 Bitnami Django 堆栈在 AWS Lightsail 上从 GitHub 部署 Django 应用程序

使用 Bitnami Django 堆栈在 AWS Lightsail 上从 GitHub 部署 Django 应用程序

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-23 04:58:38781浏览

在本教程中,我将引导您使用 Bitnami 将 GitHub 上托管的 Django Web 应用程序 部署到 AWS Lightsail 实例 Django 堆栈。 Bitnami 通过提供预配置的生产就绪环境来简化部署,其中包括 Django、Web 服务器(Nginx 或 Apache)和数据库(PostgreSQL 或 MySQL)。

在本教程结束时,您将能够以最少的配置在 AWS Lightsail 上启动并运行 来自 GitHub 的 Django 项目


为什么选择 AWS Lightsail 进行 Django 部署?

AWS Lightsail 是一种易于使用且经济实惠的云服务,非常适合托管 Django 应用程序。它为虚拟专用服务器(实例)提供简单的管理功能,例如静态 IP、预配置堆栈和可预测的定价。这就是为什么它是 Django 的绝佳选择:

  • 价格实惠:前期成本低,价格可预测。
  • 简化设置:易于使用的界面,可快速部署。
  • 可扩展性:可以很好地扩展中小型应用程序。
  • 预配置的堆栈:简化的环境设置,包括 Django。

分步指南

1. 使用 Bitnami Django Stack 创建 Lightsail 实例

登录 AWS Lightsail:

  • 转到 Amazon Lightsail 控制台。

创建一个新实例:

  • 在 Lightsail 仪表板中单击 创建实例
  • 应用程序 下,从 Bitnami 堆栈选项中选择 Django

Deploy a Django App from GitHub on AWS Lightsail Using the Bitnami Django Stack

  • 选择最接近目标受众的区域以减少延迟。
  • 选择实例计划。每月 5 美元的计划适合小型 Django 应用程序。

Deploy a Django App from GitHub on AWS Lightsail Using the Bitnami Django Stack

  • 为您的实例命名(例如 django-app-bitnami)。
  • 下载或使用现有的SSH 密钥连接到您的实例。
  • 点击创建实例启动您的Django实例。

2. 访问您的 Lightsail 实例

您的 Lightsail 实例运行后,您需要通过 SSH 访问它。

获取静态IP:

  • 转到 Lightsail 控制台中的 网络 选项卡。
  • 分配静态 IP 并将其附加到您的 Lightsail 实例。此静态 IP 将用于访问您的 Django 应用程序。

通过 SSH 连接到实例:

  • 您可以通过单击 连接 直接从 Lightsail 控制台进行 SSH,或使用终端命令:
ssh -i /path/to/your/ssh-key.pem bitnami@<your_instance_ip>

Deploy a Django App from GitHub on AWS Lightsail Using the Bitnami Django Stack


3. 从 GitHub 克隆您的 Django 项目

现在您已连接到 Lightsail 实例,您可以从 GitHub 克隆您的 Django 项目。

安装 Git:

首先,确保您的 Lightsail 实例上安装了 Git:

sudo apt update
sudo apt install git

克隆您的 GitHub 存储库:

现在,导航到您要存储项目的目录(例如 /home/bitnami/)并克隆您的存储库:

cd /home/bitnami
git clone https://github.com/yourusername/your-django-app.git

将 https://github.com/yourusername/your-django-app.git 替换为 GitHub 存储库的实际 URL。


4. 配置 Django 设置

克隆 Django 项目后,您需要配置 settings.py 文件以确保其在生产环境中运行。

访问 Django 应用程序:

  • 导航到项目目录。默认情况下,Bitnami 将 Django 安装在 /opt/bitnami/apps/django/django-project/ 中,但您的应用程序将位于您从 GitHub 克隆的文件夹中。
cd /home/bitnami/your-django-app

编辑settings.py文件:

使用nano或vi等文本编辑器修改您的settings.py:

sudo nano your-django-app/yourproject/settings.py

更改以下设置:

  • ALLOWED_HOSTS: 将您的 Lightsail 静态 IP 或域(如果有)添加到 ALLOWED_HOSTS 列表:
ALLOWED_HOSTS = ['<your_instance_ip>', 'yourdomain.com']
  • 数据库配置: Bitnami 堆栈默认使用 PostgreSQL,因此如果您使用 PostgreSQL,请使用默认数据库配置:
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'bitnami_django',
        'USER': 'bn_django',
        'PASSWORD': 'yourpassword',
        'HOST': 'localhost',
        'PORT': '5432',
    }
}
  • 静态文件配置: 确保以下静态文件设置正确:
STATIC_URL = '/static/'
STATIC_ROOT = '/home/bitnami/your-django-app/static'

5. 运行迁移并收集静态文件

配置设置后,运行迁移并收集静态文件。

运行 Django 迁移:

应用任何数据库迁移:

sudo python3 manage.py migrate

收集静态文件:

运行以下命令将所有静态文件收集到一个中心位置:

ssh -i /path/to/your/ssh-key.pem bitnami@<your_instance_ip>

6. 在浏览器中访问应用程序

完成上述设置后,您的 Django 应用程序应该可以通过 Lightsail 实例的静态 IP 访问。

  • 打开浏览器并输入 Lightsail 实例的静态 IP:
sudo apt update
sudo apt install git

如果您已经部署了代码,您应该会看到 Django 欢迎页面或您的应用程序。


尝试使用“我的简单待办事项列表”应用程序

克隆我的简单待办事项列表 Django 应用程序 并按照以下步骤将其部署在 AWS Lightsail 上。

Deploy a Django App from GitHub on AWS Lightsail Using the Bitnami Django Stack


结论

您已使用 Bitnami Django 堆栈 在 AWS Lightsail 上成功部署了来自 GitHubDjango 应用程序。通过此设置,您将拥有:

  • 预配置、生产就绪的 Django 环境。
  • PostgreSQL 数据库。

AWS Lightsail 与 Bitnami 为托管 Django 应用程序提供了一种简单且经济高效的解决方案。无论您是部署小型个人项目还是生产应用程序,此解决方案都能确保您的 Django 应用程序顺利运行。


参考

  • AWS Lightsail 官方文档
  • Bitnami Django 堆栈文档
  • Django 官方文档

以上是使用 Bitnami Django 堆栈在 AWS Lightsail 上从 GitHub 部署 Django 应用程序的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn