Files
easygoadmin-wiki/EasyGoAdmin_Gin_NaiveVue/zh/deploy/env-plan.md
T
2026-10-25 17:24:27 +08:00

61 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 11.2 环境规划
:::tip 概述
推荐拓扑:Nginx(TLS + 静态 + 反代)→ 应用(:8000)→ MySQL / Redis(内网)。文件访问走独立域址直供 upload 目录。本页给出容量与网络规划基线。
:::
## 推荐拓扑
```text
┌─ 静态前端(/)
互联网 ── HTTPS ── Nginx ── 反代 /api → 应用:8000
└─ 文件域址 → upload 目录直供(temp 封禁)
│
应用服务器
├── MySQL(内网 3306)
└── Redis(内网 6379,设密码)
```
## 网络暴露面
| 服务 | 暴露 | 说明 |
|---|---|---|
| Nginx 443 | 公网 | 唯一入口 |
| 应用 8000 | 仅 Nginx 可达 | 不对公网直开 |
| MySQL/Redis | 仅内网 | compose 默认仅绑回环 |
| /metrics | 内网或关闭 | 防指标泄露 |
## 容量基线(中小规模起步值)
| 资源 | 建议 |
|---|---|
| CPU/内存 | 2C4G 起步(Go 服务内存曲线平缓) |
| 磁盘 | 系统盘 + 数据盘分离;upload 与 log 单独挂载或配额 |
| MySQL | 8C16G 级别起步,连接池与应用 maxOpenConns(50)匹配 |
| Redis | 1–2G 起步(黑名单/验证码/字典/在线会话) |
## 配置注入方式
| 环境 | 方式 |
|---|---|
| 开发 | config.yaml 直改 |
| 生产 | `.env` + APP_* 环境变量(compose 映射或 systemd EnvironmentFile) |
敏感项(JWT 密钥、数据库/Redis 密码)只进环境变量,不进版本库。
## 多环境差异
| 项 | 测试 | 生产 |
|---|---|---|
| app.prod | false | **true** |
| generator.enable | true(开发用) | **false** |
| api.docs | true | false |
| debug(SQL 日志) | 按需 | false |
| logger.level | debug/info | info/warn |
| 备份 | 可选 | 强制 |
## 相关
- [2.3 配置文件与环境变量](/zh/quickstart/env-vars.html)
- [11.8 安全加固清单](/zh/deploy/security.html)