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.

111 lines
3.1 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 ← 本说明
├── RELEASE-NOTES.md ← 部署步骤摘要
├── 代码/ ← 上传到服务器项目目录 /home/project/yubao
└── 数据库/ ← 宝塔 MySQL 导入用
├── email_forecast.sql
├── email_forecast.sql.gz
└── README.md
```
---
## 第一步:导入数据库(宝塔)
1. 宝塔创建数据库 **`email_forecast`**
- 字符集:**`utf8mb4`**
- 校对规则:**`utf8mb4_unicode_ci`**(必须一致,否则会提示「字符集不一致可能导致恢复失败」)
2. 创建用户 **`email_forecast`**,授权主机 **`172.%`**(Docker 容器访问)
3. 进入该库 → **导入** → 上传 **`数据库/email_forecast.sql`**(或 `.sql.gz`)
若库已建错校对规则,先执行:
```sql
ALTER DATABASE email_forecast CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
```
再导入。包内含本机完整业务数据;若只想空库,可跳过导入,首次 `install` 会 `db push` + seed。
---
## 第二步:上传代码
将 **`代码/`** 内全部内容上传到服务器 `/home/project/yubao/`。
**重要:不要覆盖服务器上已有的 `.env` 文件。**
---
## 第三步:配置与启动
### 首次部署
```bash
cd /home/project/yubao
cp deploy/.env.bt-host-mysql.example .env
nano .env # 改密码、SESSION_SECRET、CC/IMAP 等
chmod +x deploy/install-bt-host-mysql.sh
bash deploy/install-bt-host-mysql.sh
```
### 更新代码(已有 .env)
```bash
cd /home/project/yubao
cp .env .env.backup.$(date +%Y%m%d)
# 用新「代码/」覆盖本目录(勿覆盖 .env)
chmod +x deploy/update-code-only-bt-host-mysql.sh
bash deploy/update-code-only-bt-host-mysql.sh
# schema 有变更时:
bash deploy/update-code-only-bt-host-mysql.sh --db-push
```
---
## 访问地址
| 用途 | 地址 |
|------|------|
| 登录 | http://192.168.2.14:30327/login |
| 邮件列表 | http://192.168.2.14:30327/mails |
| 设置(Admin) | http://192.168.2.14:30327/settings |
默认账号由 `.env` 中 `APP_ADMIN_USER` / `APP_OPS_PASS` 决定;**生产勿用 admin123**。
---
## 重新打包(开发机 Windows)
### 方案 A:服务器编译(需 4GB+ 可用内存)
```powershell
cd X:\work\yx
powershell -ExecutionPolicy Bypass -File deploy\pack-server-upload.ps1
```
### 方案 C:开发机构镜像(推荐,服务器不编译)
```powershell
cd X:\work\yx
# 需 Docker Desktop 已启动;本机内存建议 ≥ 8GB
powershell -ExecutionPolicy Bypass -File deploy\pack-prebuilt-upload.ps1
```
产出含 `镜像/yubao-app-image.tar`(约 800MB~1.5GB),服务器执行 `bash deploy/install-prebuilt-image.sh`。
---
## 与查价项目(chajia)同机部署
| 项目 | 端口 | 库名 | 目录 |
|------|------|------|------|
| chajia | 30325 | chajia | /home/project/chajia |
| 邮件预报(本项) | 30327 | email_forecast | /home/project/yubao |
二者共用宝塔 MySQL,各自独立库与用户,互不影响。