|
|
# 上传到服务器 — 使用说明
|
|
|
|
|
|
本目录仅含**生产部署所需**文件,不含测试、文档、开发脚本、`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`:客户编号登录;密码在**客户管理**中为每个客户单独设置(新建默认 `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)— 推荐 DataGrip 方式
|
|
|
|
|
|
```bash
|
|
|
cd /home/project/chajia
|
|
|
# 1. 备份 .env
|
|
|
cp .env .env.backup.$(date +%Y%m%d)
|
|
|
# 2. 用新「代码/」覆盖本目录(勿覆盖 .env)
|
|
|
# 3. DataGrip 执行 deploy/datagrip-manual-migrate-20260716.sql
|
|
|
# 4. 串行更新镜像(不自动 migrate):
|
|
|
chmod +x deploy/update-code-only-bt-host-mysql.sh
|
|
|
bash deploy/update-code-only-bt-host-mysql.sh
|
|
|
# 5. 标记 migration 已应用 + 清 Redis(见 RELEASE-NOTES 方式 B)
|
|
|
```
|
|
|
|
|
|
**勿再跑** `install-bt-host-mysql.sh`(会自动 `migrate deploy`)。详细见同目录 `RELEASE-NOTES.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`
|