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.
3.1 KiB
3.1 KiB
上传到服务器 — 使用说明
本目录仅含生产部署所需文件,不含测试、文档、开发脚本、node_modules 等。
上传到服务器/
├── README.md ← 本说明
├── RELEASE-NOTES.md ← 部署步骤摘要
├── 代码/ ← 上传到服务器项目目录 /home/project/yubao
└── 数据库/ ← 宝塔 MySQL 导入用
├── email_forecast.sql
├── email_forecast.sql.gz
└── README.md
第一步:导入数据库(宝塔)
- 宝塔创建数据库
email_forecast- 字符集:
utf8mb4 - 校对规则:
utf8mb4_unicode_ci(必须一致,否则会提示「字符集不一致可能导致恢复失败」)
- 字符集:
- 创建用户
email_forecast,授权主机172.%(Docker 容器访问) - 进入该库 → 导入 → 上传
数据库/email_forecast.sql(或.sql.gz)
若库已建错校对规则,先执行:
ALTER DATABASE email_forecast CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
再导入。包内含本机完整业务数据;若只想空库,可跳过导入,首次 install 会 db push + seed。
第二步:上传代码
将 代码/ 内全部内容上传到服务器 /home/project/yubao/。
重要:不要覆盖服务器上已有的 .env 文件。
第三步:配置与启动
首次部署
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)
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+ 可用内存)
cd X:\work\yx
powershell -ExecutionPolicy Bypass -File deploy\pack-server-upload.ps1
方案 C:开发机构镜像(推荐,服务器不编译)
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,各自独立库与用户,互不影响。