签入版本
This commit is contained in:
@@ -8,19 +8,24 @@
|
||||
|
||||
| 组件 | 版本 | 说明 |
|
||||
|------|------|------|
|
||||
| PHP | 8.2+ | 必需 |
|
||||
| PHP | 8.3+ | 必需(Laravel 13 要求) |
|
||||
| Laravel | 13.x | 后端框架 |
|
||||
| MySQL | 8.0+ | 主数据库(也支持 PostgreSQL、SQL Server、Oracle、SQLite) |
|
||||
| Redis | 6.0+ | 缓存(可选,推荐) |
|
||||
| Redis | 6.0+ | 缓存 / 会话 / 队列 / JWT 会话存储(**必需**,phpredis 扩展) |
|
||||
| Nginx | 1.18+ | Web 服务器 |
|
||||
| Node.js | 22+ | 前端构建 |
|
||||
| Node.js | 18+(建议 22 LTS) | 前端构建(`ui/` 为 Vite 3;根目录资源构建为 Vite 7) |
|
||||
| Composer | 2.x | PHP 依赖 |
|
||||
| pnpm | 12+ | 前端依赖 |
|
||||
| pnpm | 9+ | 前端依赖(`ui/` 目录,含 pnpm-lock.yaml) |
|
||||
|
||||
:::warning Redis 为强依赖
|
||||
本项目 `.env.example` 默认 `SESSION_DRIVER=redis`、`CACHE_STORE=redis`、`QUEUE_CONNECTION=redis`、`REDIS_CLIENT=phpredis`,JWT 双令牌也依赖 Redis。生产环境必须部署 Redis,否则无法登录、无法缓存、队列不可用。
|
||||
:::
|
||||
|
||||
## 服务器配置建议
|
||||
|
||||
| 规模 | CPU | 内存 | 磁盘 | 说明 |
|
||||
|------|-----|------|------|------|
|
||||
| 小型 | 2核 | 4GB | 50GB | 单机部署,日活 < 1000 |
|
||||
| 小型 | 2核 | 4GB | 50GB | 单机部署,日活 < 1000(数据库初始化导入约 226MB,建议 ≥4GB) |
|
||||
| 中型 | 4核 | 8GB | 100GB | 单机部署,日活 1000~10000 |
|
||||
| 大型 | 8核+ | 16GB+ | 200GB+ | 分离部署,日活 > 10000 |
|
||||
|
||||
@@ -33,7 +38,7 @@
|
||||
│ 单台服务器 │
|
||||
│ │
|
||||
│ Nginx + PHP-FPM + MySQL │
|
||||
│ + Redis(可选) │
|
||||
│ + Redis(必需) │
|
||||
│ + 前端静态文件 │
|
||||
└─────────────────────────────┘
|
||||
```
|
||||
@@ -47,8 +52,8 @@
|
||||
│ Nginx(前端 + API 代理) │
|
||||
│ PHP-FPM(多进程) │
|
||||
│ MySQL(主库) │
|
||||
│ Redis(缓存) │
|
||||
│ Supervisor(进程管理) │
|
||||
│ Redis(缓存/队列) │
|
||||
│ Supervisor(队列/守护进程) │
|
||||
└─────────────────────────────┘
|
||||
```
|
||||
|
||||
@@ -72,8 +77,23 @@
|
||||
|
||||
## 环境变量规划
|
||||
|
||||
| 环境 | APP_DEBUG | CACHE.DRIVER | JWT.SECRET | CORS.ALLOW_ORIGIN |
|
||||
|------|-----------|-------------|------------|-------------------|
|
||||
| 开发 | true | file | 开发密钥 | * |
|
||||
| 测试 | true | file | 测试密钥 | * |
|
||||
| 生产 | false | redis | 强随机密钥 | 指定域名 |
|
||||
本项目 `.env` 为扁平键名(无分段式配置),核心项规划如下:
|
||||
|
||||
| 环境 | APP_DEBUG | APP_ENV | CACHE_STORE / SESSION_DRIVER | JWT_SECRET | CORS_ALLOW_ORIGIN |
|
||||
|------|-----------|---------|------------------------------|------------|-------------------|
|
||||
| 开发 | true | local | redis | 开发密钥 | * |
|
||||
| 测试 | true | testing | redis | 测试密钥 | * |
|
||||
| 生产 | **false** | **production** | redis | **强随机密钥(≥32 字符)** | **指定域名** |
|
||||
|
||||
生成强随机 JWT 密钥:
|
||||
|
||||
```bash
|
||||
php -r "echo bin2hex(random_bytes(32));"
|
||||
```
|
||||
|
||||
:::tip 其它生产必检项
|
||||
- `DB_PREFIX=laravel_` 与 SQL 脚本表前缀一致,不要随意修改
|
||||
- `FILE_DOMAIN_URL` 留空时按当前请求域名补全文件地址;跨域部署时应配置为前端可访问的文件域名
|
||||
- `TRUSTED_PROXIES` 按反向代理层级配置(默认信任 127.0.0.1 / ::1)
|
||||
- 队列常驻进程:`php artisan queue:work`(生产用 Supervisor 托管)
|
||||
:::
|
||||
|
||||
Reference in New Issue
Block a user