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