部署指引

一、服务器选购

参数

推荐规格

说明

CPU

2 核

单体服务够用

内存

4 GB

PostgreSQL 约需 500MB+,留有余量

硬盘

40 GB SSD

系统 + 数据库 + Docker 镜像

带宽

5 Mbps

演示场景足够

系统

Ubuntu 24.04

Docker 兼容性最好

厂商

腾讯云/阿里云 轻量应用服务器

~80 元/月

学生认证可享受优惠价(腾讯云"云+校园"约 40 元/月)。

二、服务器初始化

安装 Docker

curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
# 退出 SSH 重登录以使分组生效

验证安装:

docker --version
docker compose version

配置安全组(防火墙)

在云厂商控制台开放以下端口:

端口

用途

建议

80

HTTP(Nginx)

必须开放

443

HTTPS(可选)

后期配置域名时开放

22

SSH

默认已开放,建议修改默认端口

三、部署项目

# 1. 克隆仓库
git clone https://github.com/你的用户名/TravelPal.git
cd TravelPal

# 2. 配置环境变量
cp .env.example .env
# 编辑 .env,填入你的 API Key
# 至少需要配置:AMAP_API_KEY、AMAP_JS_KEY、LLM_API_KEY

# 3. 启动全部服务
docker compose up -d

# 4. 查看启动日志
docker compose logs -f

# 5. 验证
curl http://localhost/api/poi-lookup
# 应返回 422(缺少参数),说明后端正常运行

首次启动耗时

  • docker compose build:首次约 5-15 分钟(取决于网络和机器性能)

  • 后续启动(镜像已缓存):约 10 秒

四、常见问题

高德 API 白名单

高德开放平台控制台 → 应用管理 → 你的应用 → 添加 http://你的服务器IP/Web 服务 API 白名单。

查看后端日志

docker compose logs -f --tail=100 backend

重启服务

docker compose restart backend
# 或全部重启
docker compose restart

更新到最新版本

git pull
docker compose up -d --build

五、可选:域名 + HTTPS

  1. 购买域名(腾讯云/阿里云)

  2. 域名备案(国内服务器必须)

  3. DNS 解析指向服务器 IP

  4. 配置 Nginx HTTPS + Let's Encrypt:

# 安装 certbot
sudo apt install certbot python3-certbot-nginx
# 申请证书(自动修改 Nginx 配置)
sudo certbot --nginx -d 你的域名.com

申请域名后,同步更新 .env 中的高德 API 白名单域名配置。