第28课 · 数据驾驶舱:部署上线

本节要点
- 驾驶舱要"上线",得搬到一个 24 小时不关机的服务器上,不然只有你自己电脑能看
- 听起来要懂一堆 IT 黑话(服务器、IP、域名、HTTPS、SSH……),这节课全部用人话讲明白
- 核心心法:配一把"钥匙"交给 AI,剩下全由它干——你只手动做一次 SSH 免密,连服务器、装环境、传代码、配域名证书,AI 全包
- 两种部署方式:Docker("集装箱",干净搬家方便,推荐)和裸机(公司不让用 Docker 时的备选)
- 上线前的安全清单:先存档能回退、数据库别暴露、设强密码、不用 root
- 顺带讲清:OpenCode 的
/init命令是什么,跟 Claude Code、Codex 比有什么不同
1. 驾驶舱做完了,为什么只有你自己能看?
上一节我们把数据驾驶舱磨到了能用的程度,但只要你关掉电脑,别人就看不到了。
原因很简单:它跑在一个叫 localhost 的本地地址上。
先解释几个审计、财务同学最常懵的词,后面整节课都建立在这上面。
1.1 localhost:你"自己家"的门牌
你在浏览器里打开驾驶舱,地址栏通常是这俩之一:
http://localhost:8000
http://127.0.0.1:8000localhost 和 127.0.0.1 是一个意思,翻译成人话就是**"我自己这台电脑"**。它是一块只在自己电脑里生效的"私人门牌"——你家的 WiFi,别人连上来也敲不开这扇门。
打个比方:
localhost就像你办公桌上那张只给自己看的草稿纸,同事根本看不到。
1.2 IP 地址:电脑的门牌号
每台连上网的电脑,都有一个 IP 地址,就是一串数字,比如 192.168.31.221。你可以把它理解成电脑在网上的门牌号。
127.0.0.1 是一个特殊的门牌号,永远指向"我自己"。
1.3 局域网 vs 外网
- 局域网:同一个 WiFi / 同一个办公室里的所有电脑,互相能串门。你在公司里让同事打开你的 IP,他们能看到驾驶舱——但前提是大家都连着同一个网。
- 外网(公网):整个互联网。想让外网的人(出差在外的领导、家里加班的同事)也能访问,光靠你自己这台关机就断的电脑是不行的。
这就是为什么要"部署上线"
你自己电脑会关机、会断网、IP 会变。想让大家随时能看驾驶舱,得把它搬到一个永远开机、永远在线、有固定地址的地方——那就是服务器。
2. 先把几个词一次性讲明白(小白扫盲)
这节课你会遇到一堆 IT 名词,别怕,先用人话过一遍,后面看到就不会慌。
| 名词 | 人话解释 | 打个比方 |
|---|---|---|
| 服务器 | 一台 24 小时不关机、专门给别人提供服务的电脑 | 网上的"机房里那台永不休息的电脑" |
| IP 地址 | 电脑在网络上的门牌号 | 123.45.67.89 |
| localhost / 127.0.0.1 | 永远指向"我自己这台电脑"的特殊门牌 | 自己办公桌上的草稿纸 |
| 端口(port) | 同一台电脑上不同服务的"窗口号",冒号后面的数字 | 银行的 1 号窗口、2 号窗口 |
| 域名 | 给 IP 起的好记的名字 | auditdog.cn 比 123.45.67.89 好记 |
| HTTP | 网页传输的"明文"协议,别人中途能偷看 | 明信片,内容裸奔 |
| HTTPS | 加密版的 HTTP,浏览器显示小锁🔒 | 密封信封,中途偷看是乱码 |
| SSH | 远程登录服务器用的"协议"(一套约定) | 远程操控服务器的"遥控器" |
不用背
这些词你有个印象就行。真正动手时,把现象告诉 AI,它会用人话给你解释、帮你操作。这节课的精髓就是:你不用成为运维专家,AI 来当运维。
3. 第一步:准备一台服务器
想让驾驶舱"上线",得先有一台服务器。听起来很高大上,其实就是在云厂商那里租一台"云上的电脑"。
3.1 三种选择,挑一个
| 类型 | 适合谁 | 注意 |
|---|---|---|
| 境外云服务器 | 想公网访问、绑域名 HTTPS、不想备案 | 买完让 AI 帮你做安全初始化 |
| 国内云服务器(阿里云/腾讯云轻量) | 国内访问快、长期稳定 | 绑域名要 ICP 备案,约 20 天,不备案域名打不开 |
| 公司内网一台机器 | 只给公司内部看、数据不外泄 | 无需公网/域名,仅内网访问 |
新手最省事:境外云服务器
不想等备案、想马上能用,选境外的。买完即用,绑域名不用备案,配 HTTPS 也最顺。
3.2 视频里我用的方案(供参考)
我自己买了一台香港的服务器,服务商叫「天霆网络」,价格很划算:
- 特惠一型:99 元/年,也有 999 元"永久付"(一直用,我用了两年没问题)
- 四型(配置高,16G 内存、10 核左右):3999 元永久,相当于买台笔记本的钱,但能一直用,约 10 年回本
它给你一个独立的公网 IP,再绑个域名就能公网访问了。
境外服务器的小毛病
- 网络质量一般,用 SSH 远程连接时偶尔会断,断了重连就行
- 国内少数省份(比如福建、内蒙古)可能访问不了境外服务器,其他地区正常
- 我之前的「陈版主答疑」网站就部署在这台香港服务器上
国内云服务器(腾讯云、阿里云、京东云)也行,常有几十块一年的便宜方案,但要留意:首年便宜,续费往往贵。长期用国内服务器,记得算总账。
没服务器怎么办
去云厂商买一台轻量应用服务器(几十块/月),选系统时勾 Ubuntu(最主流的服务器系统,AI 最熟)。买完把公网 IP(一串数字,如 123.45.67.89,在云厂商后台"实例详情"里能看到)、用户名(一般是 root)、密码准备好,等下要用。
4. 第二步:配一把"钥匙"——SSH 免密(整节课唯一需要你动手的地方)
这是整节课唯一一次需要你亲自动手的操作,配完之后,剩下的活全交给 AI。
4.1 为什么必须"免密"
还记得前面说的 SSH 吗?它是远程操控服务器的"遥控器"。正常情况下,你连服务器要输密码。
问题来了:AI 是自动跑的,它跑到"请输入密码"这一步,没人帮它输,它就卡在那儿不动了。
所以我们要配一个"免密钥匙"——配好之后,AI 一条命令就能直接进服务器,全程不用停。
一句话心法
SSH 免密 = 给 AI 配一把服务器的钥匙。 配之前每次进门要你输密码(AI 卡住);配好后 AI 自己开门干活。
4.2 钥匙原理(30 秒看懂)
SSH 免密用的是"一对钥匙":
- 公钥(public key):相当于一把锁,装到服务器门上
- 私钥(private key):相当于钥匙本体,留在你自己电脑里
配好之后,服务器认这把钥匙,AI 拿着它去开门,自动识别、不用口令。
4.3 第①步:在你自己电脑上生成钥匙
打开你自己电脑的终端(Mac 打开"终端"App;Windows 打开第21课装的 Warp 终端),敲这一行:
ssh-keygen -t ed25519 -C "你的邮箱"邮箱只是个标签,方便以后认出是谁的钥匙,填错也没事。
敲完一路按 3 次回车(不设密码、用默认路径,别管它问什么,回车就对了)。
这一步会在你电脑里生成两个文件:
| 文件 | 是什么 | 去哪 |
|---|---|---|
id_ed25519 | 私钥(钥匙本体) | 留在本地,绝不外传 |
id_ed25519.pub | 公钥(锁) | 这个要送给服务器 |
4.4 第②步:把公钥(锁)送到服务器
还是在本地电脑的终端(只要没敲过 ssh 进服务器,就一定还在本地),敲:
ssh-copy-id root@123.45.67.89root是服务器默认管理员账号,云服务器买来就是这个用户名- 把
123.45.67.89换成你服务器的公网 IP
接下来屏幕会依次问你:
- 显示
Are you sure you want to continue connecting?→ 输yes回车 - 显示
password:→ 输入你服务器的 root 密码 - 看到
Number of key(s) added: 1→ 成功了 🎉
输密码时屏幕一个字都不显示!
没有星号、没有圆点,这是 Linux 的正常设定,不是键盘坏了!放心输,输完直接回车。无数新手卡在这里,以为没输进去反复输。
Windows 没有 ssh-copy-id 命令?
两个办法:① 用 Warp 终端或装 Git Bash,里面都有这条命令;② 干脆把这整件事告诉 AI——"帮我配 SSH 免密到 root@我的IP,密码是 xxx",它带你一步步做。整个过程你都不用记,直接问 AI 也行(视频里我就是这么演示的)。
4.5 第③步:验证 + 起个短名(可选)
再敲一次:
ssh root@123.45.67.89这次不再问密码,直接就进服务器了,说明钥匙配好了 ✅
嫌每次敲一长串 IP 麻烦?告诉 AI:"帮我给服务器配个别名 myserver",它会帮你改好配置文件。配好后,AI 看到 myserver 就知道是哪台服务器。嫌麻烦完全可以跳过,直接用 IP 也能跑完整节课。
4.6 没出现"key(s) added: 1"?三个最常见原因
- 密码输错了(最常见)→ 重新敲一次,这次慢点输
- 服务器 22 端口没开 → 去云厂商后台找"安全组/防火墙",放行 22 端口
- 还是不行 → 直接把报错截图发给 AI,让它帮你查
卡住了别硬扛
SSH 这步是整节课最容易卡的地方,卡住了别死磕,截图发 AI 最快。
5. 第三步:把部署整段丢给 AI
钥匙配好,重头戏来了——剩下的全交给 AI。
回到 OpenCode,把这段话丢给 AI:
我的数据驾驶舱项目在当前目录。
我已经配好 SSH 免密,服务器别名 myserver,系统是 Ubuntu。
请帮我部署:
1. 检查并装好所需环境
2. 把代码传到服务器
3. 把后端、数据库、前端都跑起来
4. 配好开机自启
5. 给我一个浏览器能打开的网址发出去之后,你就去忙别的。AI 会自动做这些事:
- SSH 连上服务器,探查环境
- 在服务器上装好需要的运行环境(比如 Python 的
uv/pip包管理器、Node.js 等) - 把你本地的代码传上去
- 装依赖、启动服务
- 配置 Nginx 反向代理(下面解释)和域名
- 自己用浏览器打开网址,测试能不能访问
- 最后给你一个浏览器能打开的网址
AI 还会自己测试
视频里 AI 部署完,直接调用了 Playwright MCP(一个能自动操作浏览器的工具),自己打开网址、输入账号密码、登录验证,全程不用你点一下。这就是 第23课 讲的 MCP 的威力——AI 不只会"想",还会"动手"。
5.1 什么是 Nginx 反向代理?
部署过程中 AI 会提到一个词:Nginx。
不用怕,它就是公司的前台。外人来访,先到前台;前台问清楚你找谁,再把你带到对应的办公室。
Nginx 干的就是这事:外面的人访问你的服务器,先到 Nginx;它根据地址,把请求分发给后端、数据库、前端等不同服务。你不用懂它怎么配,AI 会帮你写好。
5.2 国内网络慢?让 AI 换"镜像源"
视频里我把驾驶舱部署到家里的 Mac mini 上,因为走的是家庭网络,装 Python 依赖时特别慢。这时让 AI 用国内的镜像源(相当于"国内的高速下载通道"),速度立刻快很多:
装依赖太慢了,请用国内的镜像源加速。如果你买的是云服务器,一般没这问题——云厂商的网络本来就是通的。
6. 两种部署方式:Docker 和裸机
部署时,AI 会问你或自己选择一种方式。简单了解下区别就行。
6.1 方式 A:Docker(推荐)
视频里我打了个比方:Docker 就像集装箱。
把驾驶舱需要的所有零件(后端、数据库、前端)各装进一个"集装箱",互不干扰,一条命令全部启动。
- 干净:不污染服务器的系统环境
- 搬家方便:换台服务器,"集装箱"搬过去一样能跑
- AI 最擅长:写个配置文件
docker-compose.yml就能跑起来
一条命令启动(AI 会自动帮你敲):
docker compose up -d为什么推荐 Docker?因为以前人手动部署时,Docker 能省大量配环境的麻烦。现在交给 AI,虽然 AI 也能搞裸机,但 Docker 的"干净、好搬家"优势依然在。
6.2 方式 B:裸机部署(备选)
公司 IT 不让用 Docker?没关系,告诉 AI:
"我们公司不让用 Docker,请用裸机方式部署。"
AI 会用 gunicorn、systemd、nginx 这些传统工具搞定,你一个都不用学。
7. 域名和 HTTPS:给驾驶舱挂个正式招牌
部署完,你能用 IP 地址访问了,但地址栏会显示一串数字,而且走的是 HTTP(明文,不安全)。想正式上线,还得配域名和HTTPS。
7.1 三个概念一次说清
- 域名:给 IP 起的好记的名字,比如
cockpit.yourcompany.com。去云厂商买,几十块/年。 - HTTPS:把
http变成https,浏览器不再报"不安全",数据传输加密。内部敏感数据尤其需要。 - 证书:让浏览器信任你"确实是这个域名主人"的凭证。免费的有 Let's Encrypt,让 AI 自动申请;云厂商也有免费一年证书。AI 还会定期帮你自动续期。
7.2 三个大坑(提前避雷)
| 坑 | 说明 | 解决 |
|---|---|---|
| 坑1·备案 | 国内服务器绑域名要 ICP 备案,约 20 天,不备案域名打不开 | 用境外服务器可绕开 |
| 坑2·国内服务器配 HTTPS 失败 | 国内云厂商常封 80 端口(网页默认通道),导致免费证书申请失败 | 告诉 AI:"国内服务器,请用 DNS 验证方式申请证书",它会自动绕开 |
| 坑3·内网根本不需要 | 只在公司内网用?直接 IP 访问就行 | 域名、HTTPS 整个可以省掉 |
真要配,把需求丢给 AI
这部分你只需要讲清概念(公网还是内网、要不要 HTTPS),具体配置 AI 全包。
8. 上线前,别踩这些坑(生产环境安全清单)
驾驶舱要给公司正式用了,上线前过一遍这张清单:
| 要点 | 为什么 | 怎么做 |
|---|---|---|
| 🗂️ 先存档能回退 | 部署出问题能回到上一版 | 部署前先 git commit(第20课) |
| 💾 数据库要备份 | 别让几个月数据因硬盘坏了全没 | 让 AI 配定期自动备份 |
| 🔒 数据库端口别外露 | 数据库一旦对公网开放,等于裸奔 | 只开必要端口,数据库端口绝不对外开放 |
| 🔄 开机自启 | 服务器重启后驾驶舱自动恢复 | 让 AI 配好开机自启 |
| 👤 别用 root 跑服务 | root 权限太大,被攻破后果严重 | 告诉 AI"帮我新建普通用户跑服务,别用 root" |
| 🔐 设强密码 | 第27课 权限后台的默认密码 admin/admin123! 公网不能用 | 用密码管理器设一个强密码 |
公网访问,密码一定要强
本地随便设个密码没事,一旦上了公网,弱密码分分钟被破解。用密码管理器(比如 Bitwarden)生成一个又长又随机的密码。
8.1 公网还是内网?决定要不要登录
部署前想清楚一个问题:这个驾驶舱给谁看?
- 公网开放(所有人可访问,像课程答疑站、陈版主答疑网站):必须有账号密码系统,只有授权的人能登录
- 内网专用(只给公司内部看):可以直接访问,但仍建议配权限
把你的安全需求明确告诉 AI,它会帮你做相应的安全改造。
9. 让 AI 记住你的服务器:/init 命令与 AGENTS.md
视频里有个细节:我跟 AI 说"部署到我的服务器",它直接就知道我有哪些服务器、各自的 IP 和用途——它怎么知道的?
答案在一个文件里:AGENTS.md。
9.1 AGENTS.md 是什么?
AGENTS.md 是 AI 的**"项目说明书 + 全局记忆"**。它放在项目根目录,AI 每次启动都会自动读取。你可以在里面写:
- 项目是干嘛的、用了什么技术栈
- 有哪些服务器(IP、用途、别名)
- 编码规范、提交流程
- 任何你想让 AI 长期记住的规则
视频里我把几台服务器的信息写进了 AGENTS.md,所以 AI 一听"部署到服务器",就能自动对号入座。
9.2 OpenCode 的 /init 命令:一键生成记忆文件
手写 AGENTS.md 太麻烦?OpenCode 提供了一个斜杠命令 /init。
在 OpenCode 里输入:
/initAI 会自动分析你的项目(技术栈、目录结构、依赖等),然后生成一份 AGENTS.md,把项目的基本情况写进去。生成的只是初稿,你可以再往里补充自己的规则(比如服务器信息、提交流程)。
一句话:
/init就是让 AI 帮你写一份"项目说明书",省得你从零手敲。
9.3 三个工具的对比:记忆文件都叫啥?
不同 AI 编程工具,记忆文件和初始化方式略有不同:
| 工具 | 记忆文件 | 初始化命令 | 说明 |
|---|---|---|---|
| OpenCode | AGENTS.md | /init(斜杠命令,自动生成) | 输入 /init,AI 分析项目后自动生成 |
| Claude Code | CLAUDE.md | /init(斜杠命令,自动生成) | 用法一样,生成的文件名不同 |
| Codex(OpenAI) | AGENTS.md | /init(斜杠命令,自动生成) | 用法一样,Codex 启动时自动读取 AGENTS.md |
它们的共同点
三个工具都有 /init 命令,都能一键生成记忆文件,AI 启动时自动读取。唯一的区别是文件名:OpenCode 和 Codex 用 AGENTS.md,Claude Code 用 CLAUDE.md,作用完全一样。
所以无论你用哪个工具,/init 一敲,AI 就帮你把"项目说明书"写好——你只需要往里补充自己的规则(比如服务器信息)即可。学会维护这份记忆文件很值,它能让 AI 每次都带着你项目的全部上下文来干活。
9.4 部署相关,AGENTS.md 里建议写什么
把这段加进你的 AGENTS.md,AI 部署时会更省心:
## 服务器信息
- 别名 myserver,公网 IP 123.45.67.89,系统 Ubuntu
- SSH 已配免密(本地可直接 ssh myserver)
- 用途:部署数据驾驶舱
## 部署规则
- 优先用 Docker 部署
- 每次部署前先 git commit
- 数据库端口禁止对外暴露别把密码写进去
AGENTS.md 一般会进版本库,密码、密钥这类敏感信息绝对不要写。密码用密码管理器存,部署时临时给 AI 即可。
10. 整个流程回顾
回头看,部署上线其实就三步:
第1步:准备一台服务器(境外云最省事)
↓
第2步:配 SSH 免密钥匙(唯一手动的一次,配一次终身受用)
↓
第3步:把部署整段丢给 AI(它连服务器、装环境、传代码、配域名证书、自己测试)你全程不碰服务器,看着 AI 在你电脑里操控远程服务器就行。
关键收获
TIP
数据驾驶舱三连至此完成:第26课架构 → 第27课实施 → 第28课部署。
这节课的核心:
- 部署 = 你配一把 SSH 钥匙 + AI 干剩下所有
- SSH 免密是"让 AI 当运维"的前提,配一次终身受用
- Docker 部署最干净、搬家方便;裸机是公司不让用 Docker 时的备选
- 域名 + HTTPS 是公网标配,内网可省;遇到备案/端口坑,把现象告诉 AI 就行
/init命令一键生成 AGENTS.md,让 AI 记住你的项目和服务器
从今天起,你不只是一个会用 AI 写代码的人,还是一个能让 AI 帮你把系统搬上云端的人。你的 AI 工作系统,初具规模。
下一步
到这里,你已经能独立完成"想一个系统 → 让 AI 搭架构 → 实施 → 部署上线"的全流程了。
接下来,我们会把视角从"做一个系统"拉回到"用 AI 提升日常效率"——看看怎么把这些能力用在你真实的审计、财务工作里。
📎 这节课用到的部署指令、AGENTS.md 模板,都会打包放到课程百度网盘,群公告里有链接。