From d017062d82edcb10fbe5dab4d12c063bc1bc3e8f Mon Sep 17 00:00:00 2001 From: chengma Date: Mon, 10 Aug 2026 10:40:58 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E8=A1=A5=E5=85=85=E4=BB=BB=E5=8A=A1=20?= =?UTF-8?q?#81=20=E9=85=8D=E7=BD=AE=E8=B7=AF=E5=BE=84=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/task/81-Admin部署到线上服务器.md | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/docs/task/81-Admin部署到线上服务器.md b/docs/task/81-Admin部署到线上服务器.md index 29bf1fa..2be4e54 100644 --- a/docs/task/81-Admin部署到线上服务器.md +++ b/docs/task/81-Admin部署到线上服务器.md @@ -19,6 +19,9 @@ 由固定符号链接指向当前版本;持久数据目录独立于发布目录。 - systemd 使用专用 `cmautobuy` 用户运行,数据库凭据仅保存在 root-only 环境文件, 应用只监听 `127.0.0.1:18080`,并设置为开机自启和失败重启。 +- 程序会按真实二进制目录寻找 `config.yaml`。发布目录通过符号链接读取 + `/opt/cmautobuy/config.yaml`,既满足顺运宝模块的路径要求,也避免在每个版本目录 + 复制一份含凭据的配置。 - 迁移前分别备份线上 MySQL 和本地 SQLite,并建立迁移前 MySQL 独立快照库。 先把 SQLite 的 15 张业务表迁入空的 MySQL `autobuy`,完成逐表数量和全列摘要核对, 再按更新时间合并迁移窗口内已同步的数据。 @@ -40,6 +43,8 @@ - 服务器 `/etc/systemd/system/cmautobuy-admin.service`:增加 Admin 常驻服务及开机自启。 - 服务器 `/etc/cmautobuy/admin.env`、`/opt/cmautobuy/config.yaml`:配置线上 MySQL 和 顺运宝运行参数,文件权限均为 `600`,未写入仓库、日志或工单。 +- 服务器 `/opt/cmautobuy/releases/f0715ee/config.yaml`:指向稳定配置路径的符号链接, + 修复顺运宝页面按真实二进制目录读取配置时提示文件不存在的问题。 - 服务器 `/www/server/panel/vhost/nginx/buy.833729.com.conf`:增加 HTTP、HTTPS、 ACME challenge、反向代理和安全响应头。 - 线上 MySQL `autobuy`:迁入历史 SQLite 数据并合并迁移窗口内的较新顺运宝数据。 @@ -53,6 +58,7 @@ | SQLite 15 张业务表迁移后逐表数量与全列摘要一致 | 通过 | | 迁移窗口内新增数据不丢失、不重复 | 通过 | | Admin 仅监听服务器回环地址并由 systemd 管理 | 通过 | +| 发布目录配置链接可由服务账号读取且顺运宝必填项完整 | 通过 | | HTTP 自动跳转 HTTPS,登录页可通过域名访问 | 通过 | | HTTPS 证书域名、HSTS 和 Secure Cookie 正确 | 通过 | | Certbot 模拟续期成功且每日续期任务存在 | 通过 | @@ -65,16 +71,18 @@ `migrate-sqlite-to-mysql --execute`、`--verify-only`;MySQL 逐表数量、主键重合和同步状态 查询;`systemctl is-active/is-enabled`;`ss -lnt`;`nginx -t`;公网 HTTP/HTTPS `curl`; 证书域名校验;`certbot renew --dry-run --no-random-sleep-on-renew`;cmhub 服务及 worker - 状态检查。 + 状态检查;`readlink -f`、`runuser -u cmautobuy -- test -r` 和不输出值的顺运宝必填项 + 检查。 - 结果:Admin、MySQL 8.4、Nginx、cmhub-web、cmhub-generate 均为 active;Admin 开机 自启且只监听 `127.0.0.1:18080`;HTTP 返回 301,HTTPS 根路径返回 303,登录页返回 200,`https://cm.833729.com/` 保持 200;66 个图片 worker 正常。线上保留 2 个用户、 5,195 个蝦皮商品、6,092 个蝦皮 SKU、4 个 PDD 商品、5,334 条顺运宝货运单和 2 个 - 任务,运行中同步为 0。证书有效期至 2026-11-08,模拟续期通过。 + 任务,运行中同步为 0。证书有效期至 2026-11-08,模拟续期通过。发布目录配置链接 + 指向稳定配置文件,目标权限为 `600`,服务账号可读且顺运宝必填项完整;修复后服务 + 保持 active,近期错误日志为 0。 - **没验证到的部分**:未使用真实浏览器人工登录并逐页点击;服务端页面、重定向、 Cookie 安全属性、数据库数据和进程状态已通过 HTTP 与数据库检查验证。 ## 相关提交 - `f0715ee` 增加 MySQL 公网 TLS CA 校验(本次线上发布代码版本) -