You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
chajia/deploy/pack-readme-template.md

107 lines
2.9 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 上传到服务器 — 使用说明
本目录仅含**生产部署所需**文件,不含测试、文档、开发脚本、`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`