签入版本

This commit is contained in:
小蚂蚁云
2026-10-25 17:24:27 +08:00
parent 48911cc08f
commit fdbeae092a
1010 changed files with 30682 additions and 95274 deletions
+46 -65
View File
@@ -1,79 +1,60 @@
# 11.2 环境规划
:::tip 概述
本节提供不同规模项目的服务器配置建议和环境规划方案。
推荐拓扑:Nginx(TLS + 静态 + 反代)→ 应用(:8000)→ MySQL / Redis(内网)。文件访问走独立域址直供 upload 目录。本页给出容量与网络规划基线。
:::
## 推荐配置
| 组件 | 版本 | 说明 |
|------|------|------|
| PHP | 8.2+ | 必需 |
| MySQL | 8.0+ | 主数据库(也支持 PostgreSQL、SQL Server、Oracle、SQLite) |
| Redis | 6.0+ | 缓存(可选,推荐) |
| Nginx | 1.18+ | Web 服务器 |
| Node.js | 22+ | 前端构建 |
| Composer | 2.x | PHP 依赖 |
| pnpm | 12+ | 前端依赖 |
## 服务器配置建议
| 规模 | CPU | 内存 | 磁盘 | 说明 |
|------|-----|------|------|------|
| 小型 | 2核 | 4GB | 50GB | 单机部署,日活 < 1000 |
| 中型 | 4核 | 8GB | 100GB | 单机部署,日活 1000~10000 |
| 大型 | 8核+ | 16GB+ | 200GB+ | 分离部署,日活 > 10000 |
## 部署架构
### 小型项目(单机)
## 推荐拓扑
```text
┌─────────────────────────────┐
│ 单台服务器 │
│ │
│ Nginx + PHP-FPM + MySQL │
│ + Redis(可选) │
│ + 前端静态文件 │
└─────────────────────────────┘
┌─ 静态前端(/)
互联网 ── HTTPS ── Nginx ── 反代 /api → 应用:8000
└─ 文件域址 → upload 目录直供(temp 封禁)
│
应用服务器
├── MySQL(内网 3306)
└── Redis(内网 6379,设密码)
```
### 中型项目(单机优化)
## 网络暴露面
```text
┌─────────────────────────────┐
│ 单台服务器 │
│ │
│ Nginx(前端 + API 代理) │
│ PHP-FPM(多进程) │
│ MySQL(主库) │
│ Redis(缓存) │
│ Supervisor(进程管理) │
└─────────────────────────────┘
```
| 服务 | 暴露 | 说明 |
|---|---|---|
| Nginx 443 | 公网 | 唯一入口 |
| 应用 8000 | 仅 Nginx 可达 | 不对公网直开 |
| MySQL/Redis | 仅内网 | compose 默认仅绑回环 |
| /metrics | 内网或关闭 | 防指标泄露 |
### 大型项目(分离部署)
## 容量基线(中小规模起步值)
```text
┌──────────┐ ┌──────────┐ ┌──────────┐
│ Nginx │ │ Nginx │ │ Nginx │
│ 前端CDN │ │ API-1 │ │ API-2 │
└──────────┘ └──────────┘ └──────────┘
│ │
└──────┬───────┘
│
┌──────┴──────┐
▼ ▼
┌──────────┐ ┌──────────┐
│ MySQL │ │ Redis │
│ 主从 │ │ 集群 │
└──────────┘ └──────────┘
```
| 资源 | 建议 |
|---|---|
| CPU/内存 | 2C4G 起步(Go 服务内存曲线平缓) |
| 磁盘 | 系统盘 + 数据盘分离;upload 与 log 单独挂载或配额 |
| MySQL | 8C16G 级别起步,连接池与应用 maxOpenConns(50)匹配 |
| Redis | 1–2G 起步(黑名单/验证码/字典/在线会话) |
## 环境变量规划
## 配置注入方式
| 环境 | APP_DEBUG | CACHE.DRIVER | JWT.SECRET | CORS.ALLOW_ORIGIN |
|------|-----------|-------------|------------|-------------------|
| 开发 | true | file | 开发密钥 | * |
| 测试 | true | file | 测试密钥 | * |
| 生产 | false | redis | 强随机密钥 | 指定域名 |
| 环境 | 方式 |
|---|---|
| 开发 | 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)