腾讯云 Docker 部署小艾知行录:从代码仓库到公网访问
把 Docker 部署落到腾讯云服务器,覆盖目录结构、拉代码、配置、构建、启动、域名和验收。
知识目录Docker 从入门到生产部署11 / 14
动手前先知道
这篇文章对应的真实任务是:把 Docker 部署落到腾讯云服务器,覆盖目录结构、拉代码、配置、构建、启动、域名和验收。
第一次阅读先弄清“为什么需要这一步、它改变了哪个运行对象、失败时去哪里检查”,再执行命令。命令可以查,运行模型和排障路径才是长期能力。
这一篇把前面的内容落到腾讯云服务器。目标是让小艾知行录从代码仓库部署到云服务器,并能通过公网访问。
服务器准备
上线前先确认:
- 云服务器能 SSH 登录。
- 安全组开放 80、443。
- 如果临时测试端口,例如 8088,也要明确开放。
- 服务器磁盘空间够用。
- Docker 和 Docker Compose 可用。
检查命令:
docker version
docker compose version
df -h
free -h
推荐目录结构
服务器上建议统一放到一个目录:
/opt/xiaoai-blog
├─ app/ # 项目代码
├─ deploy/ # 部署配置
├─ env/ # 生产环境变量,不进 Git
├─ backups/ # 数据库备份
└─ logs/ # 可选日志目录
个人项目不要把文件散落到很多地方,否则后期排障很痛苦。
拉取代码
git clone <你的仓库地址> app
后续更新:
cd /opt/xiaoai-blog/app
git pull
如果服务器没有配置 SSH Key,也可以先用 HTTPS,但长期建议配置只读部署 Key。
配置环境变量
服务器上创建:
/opt/xiaoai-blog/env/.env.production
这里放:
- 数据库连接。
- JWT 密钥。
- 管理员账号相关配置。
- COS 配置。
- AI 模型 Key。
- 前端站点 URL。
- CORS 允许域名。
不要把这个文件提交到仓库。
构建镜像
进入项目目录后构建:
docker compose -f deploy/compose.production.yml build
如果服务器配置较低,构建 Next.js 可能比较慢。早期可以接受,后续可以改成本地构建后推镜像仓库。
启动服务
docker compose -f deploy/compose.production.yml up -d
查看状态:
docker compose -f deploy/compose.production.yml ps
查看日志:
docker compose -f deploy/compose.production.yml logs -f nginx
docker compose -f deploy/compose.production.yml logs -f api
docker compose -f deploy/compose.production.yml logs -f web
上线验收
如果还没有域名,先访问公网 IP。
验收顺序:
- 首页能打开。
- 专题页能打开。
- 文章页能打开。
- 搜索正常。
- 后台能登录。
- 发布文章正常。
- 图片上传正常。
- COS 图片可访问。
- 刷新深层路由不 404。
- 移动端显示正常。
域名接入
域名买好后:
- 添加 A 记录指向服务器公网 IP。
- 等 DNS 生效。
- Nginx 配置
server_name。 - 申请 HTTPS 证书。
- 配置 HTTP 跳转 HTTPS。
域名和 HTTPS 不影响你先用 IP 做测试部署,但正式公开访问时一定要配置。
小艾知行录上线建议
上线第一版不要追求复杂,重点是:
- 用户能稳定阅读。
- 管理端能稳定发布。
- 数据库能备份。
- 版本能回滚。
- 日志能排查。
等内容和访问稳定后,再考虑 CDN、监控面板、自动化 CI/CD。
JARVIS · 当前文章
有哪里没看懂?可以只问这篇。
Jarvis 会限定在《腾讯云 Docker 部署小艾知行录:从代码仓库到公网访问》及其公开关联内容中检索,并把引用定位回原文章节。