在 Heroku 上改进 Django 应用稳定性的步骤

2024 年 8 月 29 日 | 阅读 15 分钟

引言

Heroku 是一个基于云的平台,允许开发人员轻松地部署和管理在线应用程序。由于其易用性和适应性,它已成为许多构建者的热门选择。Heroku 还以其处理包括 Python 在内的各种编程语言的能力而闻名。

Django 是一个流行的 Python Web 框架,用于构建 Web 应用程序。它以其简单而模块化的设计而闻名,这使得它易于理解和维护。Django 还以其对许多流行 Web 技术(如数据库和 Web 服务器)的内置支持而闻名。

Heroku 和 Django 经常一起使用,因为它们都旨在使构建和部署 Web 应用程序的过程尽可能简单。

Heroku 提供了一个用于部署 Web 应用程序的平台,而 Django 提供了一个用于构建 Web 应用程序的框架。它们一起使程序员能够快速构建和设置在线应用程序。在 Heroku 上托管 Django 应用程序是一个简单的过程,可以让您快速将应用程序部署到云端,而无需任何额外的基础设施。

您可以使用 Heroku 这个基于云的平台来部署、管理和扩展您的应用程序。在此,我们将介绍如何将 Django 程序上传到 Heroku。

首先,让我们设置基本步骤来设置环境

第 1 步:创建 Heroku 账户

将 Django 应用部署到 Heroku 的第一步是创建 Heroku 账户。您可以在 Heroku 网站上注册一个账户。一旦您有了账户,您就可以通过选择桌面右上角的“新建”选项来创建一个新应用。

第 2 步:配置 Heroku CLI。

为了配置您的 Django 应用以适应 Heroku,您必须在本地计算机上安装 Heroku CLI。Heroku CLI 是一个命令行工具,允许您与 Heroku 服务器进行交互。您可以在 Heroku 主页下载 Heroku CLI。

第 3 步:创建 requirements.txt 文件

Heroku 需要知道您的应用运行所需的依赖项。为此,您需要创建一个 requirements.txt 文件,其中列出了您的应用所需的所有依赖项。您可以通过在应用的根目录中运行以下命令来创建此文件。

第 4 步:创建 Procfile

Heroku 还需要知道如何启动您的应用程序。为此,您需要创建一个 Procfile,其中告诉 Heroku 运行什么命令来启动您的应用程序。Procfile 应位于您的应用程序的根目录中,并应包含以下行:

第 5 步:将您的应用推送到 Heroku

创建 requirements.txt 文件和 Procfile 后,您可以将您的应用程序推送到 Heroku。为此,您需要在应用程序的根目录中运行以下命令。

第 6 步:创建数据库

Heroku 提供了一个免费的 PostgreSQL 数据库,可用于存储您应用程序的数据。要创建数据库,您需要运行以下命令:

第 7 步:迁移您的数据库

创建数据库后,您需要运行以下命令在数据库中创建必要的表。

第 8 步:访问您的应用

完成以上所有步骤后,您的应用程序将在互联网上上线,可以通过访问 Heroku 提供的 URL 来访问。

在 Heroku 上托管 Django 应用程序是一个简单的过程,可以让您快速将应用程序部署到云端,而无需任何额外的基础设施。

上面提到的步骤是托管 Heroku 应用所需的最基本步骤。我们需要深入了解创建和托管 Heroku 上的 Django 应用所需的工作。

现在,让我们讨论将 Django 程序上传到 Heroku 的步骤

1. 创建虚拟环境

为 Django 项目创建虚拟环境是确保您的项目依赖项与您系统上的其他项目隔离的重要步骤。

这使您可以轻松地管理和轻松地替换您项目的依赖项,而不会影响其他项目。我们将介绍构建虚拟环境和脚手架 Django 项目的过程。

脚手架 Django 项目和创建虚拟环境是一个简单的过程,可以轻松管理和更新您项目的依赖项。

通过遵循这些步骤,您可以创建一个新的 Django 项目并创建一个虚拟环境。

步骤 1.1:安装 Python 和 pip。

在为 Django 项目设置数字环境之前,您可能需要在桌面计算机上安装 Python 和 pip。您可以从官方网站下载最新版本的 Python,pip 将包含在安装中。

步骤 1.2:创建一个新的项目目录

为您的项目创建一个新目录,并在终端中导航到该目录。

步骤 1.3:创建虚拟环境

应在终端中输入以下命令来构建数字环境。

这可以为您的项目列表创建一个名为 env 的全新目录。您项目中的所有依赖项都将包含在此列表中。

步骤 1.4:激活虚拟环境

要在终端中激活虚拟环境,请运行以下命令。

这将更改终端中的提示,以表明您当前位于虚拟环境中。

步骤 1.5:安装 Django

要在终端中安装 Django,请运行以下命令。

pip install django

步骤 1.6:创建一个新的 Django 项目

要在终端中创建新的 Django 项目,请运行以下命令。

这将在您的项目目录中创建一个名为 myproject 的新目录。此目录将包含您的 Django 项目的文件。

步骤 1.7:运行开发服务器

要在终端中运行开发服务器,请导航到 myproject 目录并运行以下命令。

这将在端口 8000 上启动开发服务器。您可以通过在 Web 浏览器中导航到您来访问服务器。

2. 创建本地 Git 存储库

为项目创建本地 Git 存储库是一个简单的过程,可以轻松地跟踪代码更改,与他人协作,并轻松地将代码部署到远程服务器。我们可以指导您完成为您的项目创建本地 Git 存储库的过程。

使用这些程序,您可以在您的任务中设置本地 Git 存储库。

步骤 2.1:安装 Git。

您必须已经在设备上安装了 Git 才能构建本地 Git 存储库。您可以从 Git 官方网站下载最新版本。

步骤 2.2:初始化新存储库

要在终端中初始化新存储库,请导航到项目根目录并运行以下命令。

这将在您的项目目录中创建一个名为 .git 的新目录,该目录将用于存储存储库的元数据。

步骤 2.3:将文件添加到存储库

要在终端中将文件添加到存储库,请运行以下命令。

这将将您项目目录中的每个文件添加到存储库。

步骤 2.4:提交更改

在终端执行以下命令来提交更改。

git commit -m "Initial commit"

为了整合上一步中引入的所有文档。这可以产生存储库的初始提交。

步骤 2.5:创建分支

要在终端中创建分支,请运行以下命令。

这将在存储库中创建一个新分支,允许您在不影响主分支的情况下对代码库进行更改。

步骤 2.6:将存储库推送到远程服务器

要将存储库推送到远程服务器,您需要在 GitHub 或 GitLab 等服务器上设置远程存储库。一旦设置了远程存储库,您就可以运行以下命令将本地存储库推送到远程存储库。

3. 安装和登录 Heroku

安装 Heroku CLI(命令行界面)是一个简单的过程,它允许您从命令行与 Heroku 平台进行交互。

我们将介绍在不同操作系统上安装 Heroku CLI 的过程。

通过遵循这些步骤,您可以轻松地在系统上安装 Heroku CLI 并开始使用它来管理您的 Heroku 应用。

步骤 3.1:下载 Heroku CLI

安装 Heroku CLI 的第一步是从 Heroku 网站下载适合您操作系统的安装程序。您可以通过访问 Heroku CLI 页面并单击相应的链接来找到适合您操作系统的安装程序。

步骤 3.2:安装 Heroku CLI

下载安装程序后,打开它并按照提示在您的系统上安装 Heroku CLI。

适用于 Windows

  1. 双击安装程序文件以开始安装过程。
  2. 按照提示安装 Heroku CLI。
  3. 安装完成后,您可以打开命令提示符并输入 Heroku 来查看是否已安装。

适用于 Mac

  1. 打开安装程序包。
  2. 将 Heroku 图标拖到应用程序文件夹。
  3. 安装完成后,打开终端并键入 Heroku 来查看是否已安装。

对于 Linux

  1. 打开终端并导航到安装程序包所在的目录。
  2. 运行以下命令

安装完成后,键入 Heroku 来查看是否已安装。

步骤 3.3:登录 Heroku

安装 Heroku CLI 后,您需要登录您的 Heroku 账户才能使用 CLI。要登录,请打开终端并键入以下命令。

这将提示您输入 Heroku 电子邮件和密码。输入凭据后,您将登录并可以开始使用 Heroku CLI。

4. 创建 Heroku 应用

创建 Heroku 应用是一个简单的过程,可以让您快速将应用部署到云端,而无需任何额外的基础设施。我们将介绍创建 Heroku 应用的过程。

此过程之后是安装和登录 Heroku 应用。以下步骤是该过程的进一步步骤。

通过遵循上述步骤,您可以轻松创建新的 Heroku 应用,对其进行配置,并部署您的代码。

步骤 4.1:创建一个新应用

要在终端中创建一个新应用,请运行以下命令。

这将创建一个新应用并为其分配一个唯一的名称。您也可以通过运行以下命令为您的应用指定自定义名称。

步骤 4.2:配置您的应用

创建应用后,您需要对其进行配置以运行您的应用。这可能包括设置环境变量、添加插件以及为您的应用指定构建包。您可以通过运行以下命令来配置您的应用。

步骤 4.3:部署您的应用

要部署您的应用程序,您需要将您的代码推送到 Heroku 存储库。您可以通过在终端中运行以下命令来完成此操作。

这将将您的代码推送到 Heroku 存储库并开始部署过程。部署完成后,您的应用程序将在互联网上上线,可以通过访问 Heroku 提供的 URL 来访问。

创建 Heroku 应用是一个简单的过程,可以让您快速将应用部署到云端,而无需任何额外的基础设施。

5. 使用 Python 部署 Django 应用

将 Django 项目部署到 Heroku 可能比基本部署更复杂,尤其是在配置应用以适应您正在使用的特定 Python 和 Django 版本时。我们将介绍将 Django 项目部署到 Heroku 的过程,包括配置应用。

创建账户并安装 Heroku CLI 后,我们需要遵循以下步骤。

步骤 5.1:创建 requirements.txt 文件

Heroku 需要知道您的应用运行所需的依赖项。为此,您需要创建一个 requirements.txt 文件,其中列出了您的应用所需的所有依赖项。您可以通过在应用的根目录中运行以下命令来创建此文件。

步骤 5.2:创建 runtime.txt 文件

Heroku 需要知道您的应用使用的 Python 版本。为此,您需要创建一个 runtime.txt 文件,其中指定了您的应用使用的 Python 版本。

该文件应位于您的应用根目录中,并应包含以下行。

步骤 5.3:创建 Procfile

Heroku 还需要知道如何启动您的应用程序。为此,您需要创建一个 Procfile,其中告诉 Heroku 运行什么命令来启动您的应用程序。Procfile 应位于您的应用程序根目录中,并应包含以下行。

步骤 5.4:将您的项目与 Heroku 的存储库连接

要将本地项目与 Heroku 的存储库连接,您需要在终端中运行以下命令。

步骤 5.5:将您的项目推送到 Heroku

创建 requirements.txt 文件、runtime.txt 文件和 Procfile 后,您可以将项目推送到 Heroku。为此,您需要在目录中运行以下命令。

项目目录

步骤 5.6:创建数据库

Heroku 提供了一个免费的 PostgreSQL 数据库,可用于存储您应用程序的数据。要创建数据库,您需要运行以下命令:

步骤 5.7:迁移您的数据库

创建数据库后,您需要运行以下命令在数据库中创建必要的表。

步骤 5.8:配置 Django 设置

您需要配置 Django 设置以与 Heroku 配合使用。这包括在 settings.py 文件中设置 ALLOWED_HOSTS、DATABASES 和 STATIC_ROOT 设置。您也可以在 settings.py 文件中使用环境变量来配置这些设置。

步骤 5.9:发布应用

完成以上所有步骤后,您的应用程序就可以公开发布了。要发布应用程序,您需要在终端中运行以下命令。

这将在您的浏览器中打开该应用。

提高应用稳定性的高级步骤

本文前面提到的步骤对于创建应用很有用。但为了高效地使用应用程序并提高其稳定性以使其长时间运行,我们使用一些步骤来增加其使用率。

Heroku 中的这些高级步骤可以帮助您更有效地管理 Heroku 上的 Django 项目。

在此,我们将介绍为 Heroku 上的 Django 项目配置这些设置的过程。

配置 WSGI 服务器

WSGI 服务器负责为您的应用用户提供动态内容。Heroku 建议使用 Gunicorn 作为 Django 项目的 WSGI 服务器。更新您的 Django 项目的 settings.py 文件以包含 channels 层,并配置路由以包含 WebSockets 消费者。

将您的 Heroku 应用连接到 Redis 插件,例如 RedisToGo 或 Heroku Redis。

您可以通过将 Gunicorn 添加到 requirements.txt 文件中,然后在 Procfile 中指定它来安装 Gunicorn。

启用日志记录

启用日志记录对于调试和排查应用程序问题非常重要。Heroku 提供了一个日志记录插件,您可以使用它来为您的应用程序启用日志记录。您可以通过运行以下命令添加日志记录插件。

提供静态文件

Django 内置的静态文件服务器不适合生产环境使用。Heroku 建议使用 Amazon S3 或 CDN 来提供您的静态文件。您还可以使用 Whitenoise 包在 Heroku 上提供静态文件。您可以通过将 Whitenoise 添加到 requirements.txt 文件中并在 settings.py 文件中进行配置来安装 Whitenoise。

提供动态内容

由于 Heroku 的临时文件系统,用户提交给您应用程序的信息无法作为本地文档保存。使用关系型甚至 NoSQL 数据库并不总是最有效或最实用的选择。最好使用外部服务提供商,例如 Amazon S3。

添加自定义域名

为您的应用添加自定义域名允许您使用您的域名而不是默认的 Heroku 域名。您可以通过运行以下命令为您的应用添加自定义域名。

更新您的 DNS 设置

添加自定义域名到您的应用后,您需要更新您的 DNS 设置,将您的域名指向您的应用。您可以通过为您的域名创建一个 CNAME 记录,该记录指向您的应用的 Heroku 域名来完成此操作。

与 GitHub 集成

将您的应用与 GitHub 集成可以轻松地管理您的代码库,并与项目中的其他人协作。要将您的应用与 GitHub 集成,您需要通过运行以下命令将您的应用连接到 GitHub 存储库。

连接后,您可以通过运行以下命令来推送对您应用的更改。

使用 Heroku Pipelines

Heroku Pipelines 允许您管理应用程序的多个环境,例如开发、暂存和生产。您可以使用 Heroku Pipelines 在将应用程序部署到生产环境之前在暂存环境中进行测试。要使用 Heroku Pipelines,您需要通过运行以下命令创建一个新管道。

启用自动伸缩

自动伸缩允许您的应用程序根据接收到的流量自动向上或向下伸缩。这有助于确保您的应用程序能够有效地处理流量,即使在高流量时段。要为您的应用启用自动伸缩,您需要运行以下命令。

迁移 Heroku

迁移 Heroku 允许您将应用程序从一个 Heroku 账户移动到另一个账户。如果您需要转移应用程序的所有权,或者需要将应用程序移动到不同的 Heroku 账户,这会很有用。要迁移您的应用程序,您需要运行以下命令。

附加步骤 6:设置关系型数据库

为 Heroku 上的 Django 项目设置关系型数据库是确保您的应用程序能够高效地存储和检索数据的重要步骤。我们将介绍为 Heroku 上的 Django 项目设置关系型数据库的过程。

通过遵循上述步骤,您可以为您的应用程序设置 PostgreSQL 数据库,并配置您的应用程序使用新数据库。

步骤 6.1:添加 PostgreSQL 插件

Heroku 提供了一个免费的 PostgreSQL 插件,可供您的 Django 项目使用。要添加插件,您需要在终端中运行以下命令。

这将创建一个新的 PostgreSQL 数据库并将其附加到您的应用程序。

步骤 6.2:更新您的 settings.py 文件

添加 PostgreSQL 插件后,您需要更新 settings.py 文件以使用新数据库。您可以通过将以下代码添加到 settings.py 文件中来完成此操作。

此代码将配置您的应用程序使用新的 PostgreSQL 数据库,并将连接超时设置为 600 秒。

步骤 6.3:运行迁移

更新 settings.py 文件后,您需要运行迁移以在新数据库中创建必要的表。您可以通过在终端中运行以下命令来完成此操作。

此命令将执行迁移脚本并在新的 PostgreSQL 数据库中创建必要的表。

步骤 6.4:创建超级用户

要访问应用程序的管理界面,您需要创建一个超级用户。您可以通过在终端中运行以下命令来完成此操作。

按照提示创建超级用户帐户。

步骤 6.5:测试数据库

为确保您的应用程序已正确配置为使用新的 PostgreSQL 数据库,您可以通过在数据库上创建、读取、更新和删除数据来运行测试。您可以通过在终端中运行以下命令来完成此操作:-

并使用 Django 提供的 ORM 命令测试数据库。

结论

通过使用上述步骤,我们可以使用 Python 在 Heroku 上使用 Django 框架创建 Web 应用程序。这对于项目很有用,了解 Django 代码在 Heroku 上的使用是创建 Web 应用程序和使用云计算的最佳方法之一。总之,这些高级步骤可以帮助您更有效地管理 Heroku 上的 Django 项目。我们可以更好地管理代码库,在不同环境中测试应用程序,有效地处理流量,并轻松转移应用程序的所有权。