Files
order_site/docs/服务器部署教程.md
T

193 lines
3.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 服务器部署教程
## 目标
`order-site-workspace``Docker Compose + Caddy` 方式部署到 Linux 服务器。
## 一、服务器准备
建议服务器最低配置:
- 2 vCPU
- 4 GB 内存
- 30 GB 可用磁盘
系统建议:
- Ubuntu 22.04 / Debian 12
需要提前准备:
1. 一个已经解析到服务器公网 IP 的域名
2. 服务器开放端口:
- `80`
- `443`
3. 已安装 Docker 和 Docker Compose
## 二、上传项目
将整个工作区上传到服务器,例如:
```bash
cd /srv
git clone <your-repo-url> order-site-workspace
cd order-site-workspace
```
如果不是 Git 部署,也可以直接上传整个目录。
## 三、填写生产配置
复制环境变量模板:
```bash
cp .env.example .env
```
然后重点修改:
1. `APP_DOMAIN`
改成你的真实域名,例如 `order.example.com`
2. `APP_BASE_URL`
改成 `https://你的域名`
3. `CLAIM_BASE_URL`
改成 `https://你的域名/#/claim`
4. `ADMIN_SESSION_SECRET`
换成高强度随机串
5. `ADMIN_DEFAULT_USERS_JSON`
换成正式后台账号密码
6. `ORDER_SKU_MAPPINGS_JSON`
改成你的真实商品映射
7. `AGISO_*`
写入真实平台密钥
参考文件:
- [生产环境变量模板.env](/Users/yml/codes/order-site-workspace/docs/%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E6%A8%A1%E6%9D%BF.env)
## 四、首次构建与启动
在服务器执行:
```bash
docker compose build
docker compose up -d
```
如果服务器在国内,当前版本默认已启用国内镜像源加速:
- Debian `apt`:腾讯云镜像
- `npm``npmmirror`
- Playwright`amd64` 默认走 `npmmirror`,其他架构自动回退官方源
- `uv` / `pip`:腾讯云 PyPI 镜像
如果你要切换成别的源,可以手动执行:
```bash
docker compose build \
--build-arg DEBIAN_MIRROR=mirrors.tuna.tsinghua.edu.cn \
--build-arg NPM_REGISTRY=https://registry.npmmirror.com \
--build-arg PLAYWRIGHT_DOWNLOAD_HOST=https://npmmirror.com/mirrors/playwright \
--build-arg UV_DEFAULT_INDEX=https://pypi.tuna.tsinghua.edu.cn/simple
docker compose up -d
```
查看运行状态:
```bash
docker compose ps
docker compose logs -f
```
## 五、上线后检查
先检查健康接口:
```bash
curl -k https://你的域名/health
```
预期返回:
```json
{"code":0,"msg":"ok","time":1234567890}
```
再检查前端页面:
1. 打开 `https://你的域名`
2. 打开后台登录页 `https://你的域名/#/admin/login`
3. 使用 `.env` 中的管理员账号登录
## 六、常用运维命令
启动:
```bash
docker compose up -d
```
停止:
```bash
docker compose down
```
重建:
```bash
docker compose build
docker compose up -d
```
查看日志:
```bash
docker compose logs -f backend
docker compose logs -f web
```
## 七、升级流程
更新代码后执行:
```bash
git pull
docker compose build
docker compose up -d
```
如果只更新前端:
```bash
docker compose build web
docker compose up -d web
```
如果只更新后端:
```bash
docker compose build backend
docker compose up -d backend
```
## 八、数据位置与备份
当前后端数据通过 Docker 卷持久化,至少包含:
- SQLite 数据库
- 浏览器会话产物
- 兑换截图/证明文件
建议至少每日备份一次:
1. `backend_data`
2. `.env`
## 九、当前版本的注意事项
1. 当前 HTTPS 由 Caddy 自动处理,域名必须先解析到服务器
2. 领取页地址依赖 `CLAIM_BASE_URL`,域名变更后必须同步修改
3. 后端使用 SQLite,单机部署没有问题,但后期并发增大时建议切换外部数据库
4. Playwright 和 OCR 已在镜像中内置,首次构建时间较长,后续会快很多