11.2 环境规划
:::tip 概述
推荐拓扑:Nginx(TLS + 静态 + 反代)→ 应用(:8000)→ MySQL / Redis(内网)。文件访问走独立域址直供 upload 目录。本页给出容量与网络规划基线。
:::
推荐拓扑
网络暴露面
| 服务 |
暴露 |
说明 |
| 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 |
| 备份 |
可选 |
强制 |
相关