|
|
# 上传到服务器 — 使用说明
|
|
|
|
|
|
本目录仅含**生产部署所需**文件,不含测试、文档、开发脚本、`node_modules` 等。
|
|
|
|
|
|
```
|
|
|
上传到服务器/
|
|
|
├── README.md ← 本说明
|
|
|
├── 代码/ ← 上传到服务器项目目录(如 /home/project/chajia)
|
|
|
└── 数据库/ ← 宝塔 MySQL 导入用
|
|
|
├── chajia.sql
|
|
|
├── chajia.sql.gz
|
|
|
└── README.md
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
## 第一步:导入数据库(宝塔)
|
|
|
|
|
|
1. 宝塔创建数据库 **`chajia`**,字符集 **`utf8mb4`**
|
|
|
2. 进入该库 → **导入** → 上传 **`数据库/chajia.sql`**
|
|
|
3. 数据库用户 **`chajia`** 须授权主机 **`172.%`**(Docker 容器访问)
|
|
|
|
|
|
默认管理员:`admin_demo` / `kj123456`(上线后请改密)
|
|
|
|
|
|
嵌入演示 `/embed-demo`:使用**客户编号**登录(如 `CUST_002`),密码 **`123456`**,登录后按该客户展示加价配置。
|
|
|
|
|
|
---
|
|
|
|
|
|
## 第二步:上传代码
|
|
|
|
|
|
将 **`代码/`** 内全部内容上传到服务器 `/home/project/chajia/`。
|
|
|
|
|
|
**重要:不要覆盖服务器上已有的 `.env` 文件。**
|
|
|
|
|
|
上传包**不含**根目录 `.env`,避免数据库密码被旧模板覆盖。
|
|
|
|
|
|
---
|
|
|
|
|
|
## 第三步:配置与启动
|
|
|
|
|
|
### 首次部署(服务器尚无查价项目)
|
|
|
|
|
|
```bash
|
|
|
cd /home/project/chajia
|
|
|
cp deploy/.env.bt-host-mysql.example .env
|
|
|
# 核对 .env 中 MYSQL_PASSWORD / DATABASE_URL 与宝塔一致
|
|
|
nano .env
|
|
|
chmod +x deploy/install-bt-host-mysql.sh
|
|
|
bash deploy/install-bt-host-mysql.sh
|
|
|
```
|
|
|
|
|
|
### 更新代码(已有 .env)
|
|
|
|
|
|
```bash
|
|
|
cd /home/project/chajia
|
|
|
# 1. 备份 .env
|
|
|
cp .env .env.backup.$(date +%Y%m%d)
|
|
|
# 2. 用新「代码/」覆盖本目录(勿覆盖 .env)
|
|
|
# 3. 对照「本次更新说明.md」补全 .env 新变量后执行:
|
|
|
bash deploy/install-bt-host-mysql.sh
|
|
|
# 4. 建议清 Redis 报价缓存
|
|
|
docker compose --env-file .env -f deploy/docker-compose.bt-host-mysql.yml exec redis redis-cli FLUSHDB
|
|
|
```
|
|
|
|
|
|
脚本会自动:MySQL 连通测试 → 构建镜像 → 启动容器 → 数据库迁移 → Token 校验。
|
|
|
|
|
|
**详细步骤见同目录 `RELEASE-NOTES.md`(与 `deploy/服务器更新说明.md` 同步)。**
|
|
|
|
|
|
---
|
|
|
|
|
|
## 访问地址
|
|
|
|
|
|
| 用途 | 地址 |
|
|
|
|------|------|
|
|
|
| 管理端 | http://192.168.2.14:30325/admin/alerts |
|
|
|
| 嵌入演示 | http://192.168.2.14:30325/embed-demo |
|
|
|
| API 基址 | http://192.168.2.14:30325 |
|
|
|
|
|
|
**API 鉴权(第三方对接):**
|
|
|
|
|
|
```http
|
|
|
Authorization: Bearer <客户 API Key>
|
|
|
X-Customer-Id: CUST_002
|
|
|
```
|
|
|
|
|
|
嵌入演示页使用 Cookie 会话,无需在浏览器配置 Token。
|
|
|
|
|
|
---
|
|
|
|
|
|
## 重新打包(开发机)
|
|
|
|
|
|
```powershell
|
|
|
powershell -ExecutionPolicy Bypass -File deploy/pack-server-upload.ps1
|
|
|
```
|
|
|
|
|
|
---
|
|
|
|
|
|
## 未打包内容
|
|
|
|
|
|
| 不打包 | 原因 |
|
|
|
|--------|------|
|
|
|
| 根目录 `.env` | 防止覆盖服务器密码与 Token |
|
|
|
| `node_modules` / `.next` | 服务器 Docker 构建生成 |
|
|
|
| `__tests__` / `e2e` / `scripts/` | 非生产必需 |
|
|
|
|
|
|
API 文档:`代码/deploy/API.md`
|