跳到正文

如何在 Daki Hosting 上使用 .env 文件为你的应用配置环境变量。

环境变量可以让你把配置值(例如 Discord 机器人令牌或 API 密钥)传递给应用,而无需将它们硬编码在源代码中。在 Daki Hosting 上,推荐的做法是直接在服务器上使用 门户的文件管理器或 SFTP 创建一个 .env 文件。

你将学到

  • 什么是环境变量,以及它们为何重要
  • 如何在服务器上创建 .env 文件
  • 如何在 Node.js 和 Python 中加载 .env 的值
  • 保持机密安全的最佳实践

什么是环境变量?

环境变量是键值对,运行中的应用可以从其运行环境中读取。它们是以下场景的标准方式:

  • 将敏感值(令牌、API 密钥、密码)与代码分开存储
  • 无需修改或重新部署源文件即可更改配置
  • 避免将机密提交到版本控制中

创建 .env 文件

在 Daki 上管理环境变量最简单、最可靠的方法是在服务器上创建一个 .env 文件。你可以通过两种方式完成:

方式一:使用文件管理器(快速编辑)

  1. 在门户(portal.daki.cc)中打开你的服务器。
  2. 进入 Files 标签页。
  3. 点击 New File,并将其命名为 .env。
  4. 点击该文件,在网页编辑器中打开它,并添加你的变量:
    .env
    BOT_TOKEN=your_discord_bot_token_here
    PORT=3000
    DATABASE_URL=your_db_connection_string
  5. 点击 Save。
  6. 重启你的服务器。

通过 SFTP 连接到你的服务器(凭据位于 Settings 标签页),然后直接从本地计算机上传你的 .env 文件。SFTP 设置说明参见文件管理器。

切勿将 .env 文件提交到公开的 Git 仓库。请将 .env 添加到 .gitignore 文件中,以防止机密意外泄露。


在应用中加载 .env 的值

应用不会自动读取 .env 文件 — 你需要一个库将它们加载到环境变量中。

安装该包(将其添加到 package.json 的依赖中):

JSON
{
  "dependencies": {
    "dotenv": "^16.0.0"
  }
}

在入口文件的最顶部加载它:

JavaScript
require('dotenv').config();

const token = process.env.BOT_TOKEN;
const port  = process.env.PORT || 3000;

.env 文件格式

.env 文件中的每一行都遵循 KEY=VALUE 格式:

.env
# Comments start with a hash
BOT_TOKEN=your_token_here
API_KEY=some_api_key
DB_HOST=localhost
DB_PORT=5432
DEBUG=false
  • 键名通常为大写字母并使用下划线分隔。
  • 值不需要引号,但也支持使用引号。
  • 以 # 开头的行是注释,会被忽略。

最佳实践

  • 切勿在源代码中硬编码令牌或机密,尤其是当你的代码托管在 GitHub 上时。
  • 将 .env 添加到 .gitignore,确保它永远不会被意外提交。
  • 在服务器上创建 .env 文件,而不是在本地创建 — 或者使用 SFTP 上传本地的 .env,并将其排除在版本控制之外。
  • 创建或修改 .env 文件后,重启你的服务器。
  • 使用描述性的键名,让你的配置本身就具有说明性。

下一步