Files
Brain/DEPLOY.md
MingNian b0fce840a3 首次提交:脑晴测 H5 项目
包含前端源码、预构建产物(dist/)、零依赖 Node.js 服务器(server.mjs)、
Cloudflare Worker 版本(worker/)、部署文档(DEPLOY.md)和交接文档。

技术总监可直接 clone 后运行 node server.mjs 启动,无需安装 React 或 build。
DEEPSEEK_API_KEY 通过环境变量注入,未纳入仓库。
2026-07-28 10:24:47 +08:00

134 lines
3.1 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.

# 脑晴测 H5 部署说明(自有服务器 + Node.js
更新时间2026-07-28
## 一、项目简介
- 中文、免登录的认知能力测评 H5
- 含四项游戏 + AI 生成报告DeepSeek
- 前端 React 19 + Vite已构建为静态文件
- 服务端是零依赖单文件 Node.js`server.mjs`
## 二、仓库结构
```
.
├── brain-h5/
│ ├── dist/client/ # 预构建前端(已含,无需再 build
│ ├── server.mjs # Node.js 服务器入口(零依赖)
│ ├── src/ # 前端源码(仅二次开发时需要)
│ ├── worker/index.js # Cloudflare Worker 版本(本方案不用)
│ └── ...
├── 交接文档.md
└── DEPLOY.md # 本文件
```
## 三、部署步骤(自有服务器 + Node.js
### 1. 系统要求
- Node.js v18 或更高(推荐 v20+
- 任何能跑 Node.js 的操作系统Linux/Windows/macOS
不需要 npm install不需要 pnpm不需要 React 开发环境。
### 2. 克隆仓库
```bash
git clone <仓库地址>
cd Brain
```
### 3. 配置 API Key
`DEEPSEEK_API_KEY` 通过环境变量传入,**不要写入任何文件**。
Linux/macOS:
```bash
export DEEPSEEK_API_KEY=sk-你的key
```
Windows PowerShell:
```powershell
$env:DEEPSEEK_API_KEY = "sk-你的key"
```
或者用 systemd / pm2 / docker 等进程管理工具注入环境变量。
### 4. 启动服务
```bash
cd brain-h5
node server.mjs
```
默认监听 `0.0.0.0:4173`。可通过环境变量改:
```bash
PORT=8080 HOST=127.0.0.1 node server.mjs
```
### 5. 反向代理(推荐)
如果服务器有 Nginx建议反代到 Node 服务:
```nginx
server {
listen 80;
server_name your.domain.com;
location / {
proxy_pass http://127.0.0.1:4173;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
```
### 6. 进程守护(生产环境)
推荐用 pm2:
```bash
npm install -g pm2
cd brain-h5
DEEPSEEK_API_KEY=sk-你的key pm2 start server.mjs --name brain-h5
pm2 save
pm2 startup
```
## 四、健康检查
部署完成后应能通过:
| 检查项 | 期望结果 |
|---|---|
| `GET /` | 返回 HTML200 |
| `GET /assets/index-*.js` | 返回 JS bundle200 |
| `POST /api/analyze`(带 JSON body | 返回 JSON 报告200 |
| 未配置 Key 时 `POST /api/analyze` | 返回 503 `{"error":"AI service is not configured..."}` |
## 五、关键安全约束
- `DEEPSEEK_API_KEY` **必须**通过环境变量传入,**不要**写入仓库、commit、或前端 bundle。
- `.env` 文件已在 `.gitignore` 中排除,不会进入仓库。
- Key 由项目负责人通过私密渠道单独发送。
## 六、本地开发(可选,技术总监无需操作)
如需修改源码并重新构建:
```bash
cd brain-h5
pnpm install # 或 npm install
pnpm run dev # 本地开发服务器
pnpm run build # 重新构建到 dist/client/
```
## 七、联系人
- 项目负责人MingNian
- 项目根目录:`D:\GMS project`