签入版本
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
# 11.2 环境规划
|
||||
|
||||
:::tip 概述
|
||||
本节提供不同规模项目的服务器配置建议和环境规划方案。
|
||||
:::
|
||||
|
||||
## 推荐配置
|
||||
|
||||
| 组件 | 版本 | 说明 |
|
||||
|------|------|------|
|
||||
| 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(可选) │
|
||||
│ + 前端静态文件 │
|
||||
└─────────────────────────────┘
|
||||
```
|
||||
|
||||
### 中型项目(单机优化)
|
||||
|
||||
```text
|
||||
┌─────────────────────────────┐
|
||||
│ 单台服务器 │
|
||||
│ │
|
||||
│ Nginx(前端 + API 代理) │
|
||||
│ PHP-FPM(多进程) │
|
||||
│ MySQL(主库) │
|
||||
│ Redis(缓存) │
|
||||
│ Supervisor(进程管理) │
|
||||
└─────────────────────────────┘
|
||||
```
|
||||
|
||||
### 大型项目(分离部署)
|
||||
|
||||
```text
|
||||
┌──────────┐ ┌──────────┐ ┌──────────┐
|
||||
│ Nginx │ │ Nginx │ │ Nginx │
|
||||
│ 前端CDN │ │ API-1 │ │ API-2 │
|
||||
└──────────┘ └──────────┘ └──────────┘
|
||||
│ │
|
||||
└──────┬───────┘
|
||||
│
|
||||
┌──────┴──────┐
|
||||
▼ ▼
|
||||
┌──────────┐ ┌──────────┐
|
||||
│ MySQL │ │ Redis │
|
||||
│ 主从 │ │ 集群 │
|
||||
└──────────┘ └──────────┘
|
||||
```
|
||||
|
||||
## 环境变量规划
|
||||
|
||||
| 环境 | APP_DEBUG | CACHE.DRIVER | JWT.SECRET | CORS.ALLOW_ORIGIN |
|
||||
|------|-----------|-------------|------------|-------------------|
|
||||
| 开发 | true | file | 开发密钥 | * |
|
||||
| 测试 | true | file | 测试密钥 | * |
|
||||
| 生产 | false | redis | 强随机密钥 | 指定域名 |
|
||||
Reference in New Issue
Block a user