.env 文件生成器
为 Next.js、Django、Express、Rails、Stripe、Supabase、OpenAI 等生成 .env 文件。自动填充强加密机密,为 .env.example 脱敏敏感值,并支持一键导出为 docker-compose、bash、JSON 或 YAML。
检测到广告拦截,导致我们无法展示广告
MiniWebtool 依靠广告收入免费提供服务。如果这个工具帮到了你,欢迎开通 Premium(无广告 + 更快),或将 MiniWebtool.com 加入白名单后刷新页面。
- 或升级 Premium(无广告)
- 允许 MiniWebtool.com 显示广告,然后刷新
.env 文件生成器
欢迎使用 .env 文件生成器 —— 一个免费的开发者工具,可为您实际使用的框架和服务构建生产就绪的环境变量文件。从 22+ 个入门模板(Next.js, Django, Express, Rails, Laravel, PostgreSQL, Stripe, Supabase, OpenAI, Anthropic 等)中进行选择,通过 <auto> 微型 DSL 让服务器生成加密强密钥,然后一键导出为 .env、自动脱敏的 .env.example、docker-compose YAML、bash export、JSON 或 YAML。
什么是 .env 文件?
.env 文件是一个纯文本文件,以 KEY=VALUE 对的形式存储环境变量。它将 API 密钥、数据库 URL、JWT 密钥、OAuth 凭据等敏感信息排除在源代码之外,因此它们永远不会进入版本控制。在运行时,您的应用程序会通过 dotenv (Node)、python-dotenv (Python) 等库或内置支持(Next.js, Vite, Rails, Laravel, Django)加载这些值。
为什么要使用此生成器而不是手动编写 .env?
- 规范模板: 为每个框架或服务提供正确的键名、规范的名称以及合适的默认值。
- 自动生成强密钥: 输入
<auto>,服务器将填充来自 Pythonsecrets模块的 32 字节 URL 安全令牌。 - 一个源头,多种格式: 同一配置可转换为
.env、docker-compose 片段或 JSON 配置,无需手动重写。 - 安全的 .env.example 输出: 敏感键(任何匹配
SECRET,PASSWORD,TOKEN,API_KEY,PRIVATE,SALT,DSN,CREDENTIAL,AUTH的内容)都会被自动脱敏,以便您可以安全地提交示例文件。 - 混合搭配: 堆叠多个模板(Next.js + PostgreSQL + Stripe + Sendgrid)并在其上添加您自己的键。
<auto> 密钥生成器 DSL
在任何可以输入值的地方(无论是模板默认值还是自定义 KEY=VALUE 行),您都可以使用 <auto> 令牌。它们在服务器端使用 Python 的加密安全 secrets 和 uuid 模块进行求值。
| 令牌 | 生成内容 | 用例 |
|---|---|---|
<auto> | 32 字节 URL 安全 base64 令牌(约 43 字符) | 默认值;非常适合 SECRET_KEY, JWT_SECRET |
<auto:base64:N> | N 字节 URL 安全 base64 令牌 | NEXTAUTH_SECRET (32), Django SECRET_KEY (50) |
<auto:hex:N> | N 字节十六进制令牌(2N 字符) | Rails SECRET_KEY_BASE (64), GitHub OAuth (40) |
<auto:uuid> | UUID v4 字符串 | 租户 ID, 请求关联 ID |
<auto:password:N> | N 字符可读密码(无歧义字符) | 数据库密码, SMTP 密码 |
<auto:int:LO-HI> | 包含范围内的随机整数 | PORT, 示例 ID |
如何使用此工具
- 选择框架模板: 点击您使用的框架/服务的标签。每个标签都会注入其规范的环境变量。
- 添加自定义键: 在下方的编辑器中粘贴或输入
KEY=VALUE行。自定义值将覆盖相同键的模板默认值。 - 选择输出格式:
.env用于开发,.env.example用于提交到 git,docker-compose 用于容器,或者 bash/JSON/YAML 用于其他工作流。 - 生成: 结果面板显示卡片视图(带有敏感/生成标签)、格式化输出以及用于在不重新提交的情况下切换格式的标签栏。
- 复制或下载: 复制按钮将写入您的剪贴板;下载按钮保存命名正确的文件。
输出格式说明
.env
由 dotenv, python-dotenv, Next.js, Vite, Django, Rails, Laravel 及大多数现代框架使用的标准 KEY=VALUE 文件。包含空格或特殊字符的值会自动加引号。
.env.example
布局与 .env 相同,但敏感值已被清空。将此文件提交到您的仓库,以便协作者知道需要设置哪些变量,而不会暴露您的密钥。
docker-compose YAML
即插即用的 services: 代码块,带有 environment: 映射。所有值均使用双引号括起来,以安全处理特殊的 YAML 字符。
bash export
一个 export 每个变量的 Shell 脚本。使用 source .env.sh 加载变量到您当前的 Shell 会话中。
JSON / YAML
适用于使用结构化配置的工具 —— Kubernetes ConfigMaps, Terraform 变量文件或自定义配置加载器。
.env 文件的最佳实践
- 切勿将
.env提交到 git。 立即将其添加到.gitignore。如果您不小心提交了一个,请更换其中包含的每个密钥。 - 始终提交
.env.example。 它记录了您的应用需要哪些变量,而不会暴露具体数值。 - 每个环境使用不同的文件:
.env.development,.env.production,.env.test。大多数加载器会自动选择正确的文件。 - 对于会话密钥,优先使用 URL 安全的随机令牌(Python 的
secrets.token_urlsafe或 Node 的crypto.randomBytes(...).toString("base64url"))—— 这正是此工具的<auto>所生成的。 - 对带有空格或
#的值加引号,以避免被误认为行内注释。此工具会自动为您完成此操作。 - 在启动时验证: 使用架构校验器(Zod, Pydantic, dotenv-safe),这样变量缺失会直接报错,而不是产生奇怪的运行时错误。
- 定期更换密钥,并在任何团队成员离职、仓库泄露或构建系统遭到破坏后进行更换。
常见陷阱
- 忘记客户端暴露变量的前缀: Next.js 需要
NEXT_PUBLIC_,Vite 需要VITE_,Nuxt 3 需要NUXT_PUBLIC_。没有前缀的变量仅限服务器端。 - 行内注释前没有空格:
KEY=value#comment会将#comment包含在值中。请使用KEY=value # comment。 - 多行值: 标准
.env不支持多行值。对于私钥,请在双引号值内使用\n转义,或对其进行 base64 编码。 - 为数据库 URL 加引号: 包含
?或&的 URL 通常可以不加引号,但如果您的密码包含#或空格,则必须为整个 URL 加引号。 - 在生产环境使用
.env: 对于云端部署,建议优先使用平台的密钥管理器(Vercel/Netlify 环境变量, AWS Secrets Manager, Doppler, 1Password, GCP Secret Manager)。仅在本地开发时使用.env。
常见问题解答
.env 和 .env.example 有什么区别?
.env 保存应用所需的真实值,绝不能提交。.env.example 是您提交的模板,以便团队成员知道需要设置哪些键。这里的 .env.example 输出会自动清空任何看起来敏感的值。
密钥生成器是如何工作的?
将 <auto> 作为值,服务器会通过 Python 的 secrets 模块填充高加密强度的令牌。<auto:hex:32>、<auto:uuid> 和 <auto:password:20> 等变体让您可以选择所需的格式。
使用此工具处理真实密钥安全吗?
生成的密钥不会被记录或存储。尽管如此,仍请将生成的文件视为敏感文件 —— 直接下载到您的机器上,如果您通过不太受信任的渠道进行复制粘贴,请更换任何数值。将占位符 API 密钥(例如 sk_test_REPLACE_ME)替换为从您的提供商仪表板中提取的真实值。
我可以生成一个针对多个框架的 .env 吗?
可以 —— 选择所有适用的模板(例如 Next.js + PostgreSQL + Stripe)。模板之间的重复键将以最后选择的为准,并且您的自定义 KEY=VALUE 对会覆盖所有内容。
工具支持 docker-compose 吗?
支持。选择 docker-compose YAML 作为输出格式,您将获得一个即插即用的 services: 代码块。结合 Docker 模板可使用 compose 特有的变量。
支持哪些框架?
Next.js, Vite/React, Nuxt 3, Express/Node, Django, Flask, Rails, Laravel, PostgreSQL, MySQL, MongoDB, Redis, Stripe, Supabase, Firebase, AWS, OpenAI, Anthropic Claude, SendGrid, SMTP, OAuth (Google/GitHub) 和 Docker Compose。
更多资源
引用此内容、页面或工具为:
".env 文件生成器" 于 https://MiniWebtool.com/zh-cn//,来自 MiniWebtool,https://MiniWebtool.com/
由 miniwebtool 团队提供。更新日期:2026年4月27日