🧭 项目背景
为了给 1dao.cc 站群(主站 / 导航 / 博客 / 商城 / 禅道 / 部署)建立一套与线上完全隔离、版本 1:1 对齐、域名切换零冲突的开发测试环境,我们用一天时间从零完成了整套方案,最终产出一份 7.5 万字、6 卷分册的完整技术文档和 4 条自动化命令。
核心诉求:不碰线上、不改生产配置,一台电脑上完整还原 6 大子系统,同时满足「线上问题 Debug(同域名精准复现)」和「日常开发(浏览器数据隔离)」两种场景。
🎯 核心成果一览
- ✅ 6 大子系统 100% 恢复:主站 / 导航 / 博客(emlog)/ 商城(CRMEB)/ 禅道 / 部署
- ✅ 软件栈 7 组件 1:1 对齐:nginx 1.26.3 · PHP 8.4.24 · MariaDB 11.8 · Redis · certbot 4.0.0
- ✅ 2 种域名模式共存:dev-on/off(同域名 hosts 切换)+ switch-env(子域名解耦)
- ✅ 整站换域名自动化:change-domain 占位符法零误伤;switch-env 快照法双向无损
- ✅ 7.5 万字完整技术文档:EPUB / HTML / Markdown 三格式全交付
🖥️ 环境概览
| 维度 | 线上 | 虚机测试 | 对齐 |
|---|---|---|---|
| IP | 47.113.148.3 | 192.168.207.130 (VMware Bridge) | — |
| OS | Debian | Debian 13 trixie | ✅ 同系 |
| nginx | 1.26.3 | 1.26.3 | ✅ 精确 |
| PHP-FPM | 8.4.24 | 8.4.24 | ✅ 精确 |
| MariaDB | 11.8 | 11.8.6 | ✅ 小版本 |
🔀 双域名模式 · 鱼和熊掌兼得
模式 A · dev-on/off(同域名 hosts 切换 · 线上 Debug)
$ dev-on # 切测试(弹一次 macOS 密码框) $ dev-off # 切回线上 $ which-env # 随时确认当前指向
模式 B · switch-env(dev.* 子域名 · 日常开发)
$ switch-env dev # 切子域名模式(快照 + 替换 + 清缓存) $ switch-env prod # 切回同域名模式 $ switch-env snapshot # 保存业务数据变更
⚡ 整站换域名 · 占位符法零误伤
❌ 顺序替换:先 shop.1dao.cc → dev.shop.1dao.cc, 再 1dao.cc → dev.1dao.cc
结果:dev.shop.1dao.cc 里的 1dao.cc 被再次替换 → shop.dev.1dao.cc!
✅ 占位符法:阶段1 所有旧域名 → @DMNCHG_N_@(唯一占位符)
阶段2 占位符 → 对应新域名 → 零误伤!
# 预览不执行 $ change-domain 1dao.cc:dev.1dao.cc --dry-run # 正式替换(数据库 + 代码文件 + 缓存) $ change-domain 1dao.cc:dev.1dao.cc # 整站迁移到新域名 $ change-domain 1dao.cc:2dao.cc
📚 7.5 万字技术文档 · 三格式交付
| 格式 | 文件 | 大小 | 适用 |
|---|---|---|---|
| 📖 EPUB | 工作总结-完整版.epub | 86 KB | Apple Books / Kindle / 多看 |
| 🌐 HTML | 工作总结-完整版.html | 230 KB | 浏览器 + 可折叠左侧目录 |
| 📝 MD | 工作总结-完整版.md | 183 KB | 版本控制 / 二次加工 |
6 卷分册:项目背景 → 软件栈安装 → 域名演变 → 工具开发 → 经验教训 → 原理与排查。
代码与文档仓库:Gitee · huaqidao/ccoad1-infra
💡 踩坑精华 · 6 条血泪经验
- 永远不要用
.dev做开发域名:Google TLD,HSTS preload,强制 HTTPS 无解 - 切 hosts 后用无痕窗口验证:Chrome 有独立 DNS + Socket 缓存,不会立即跟随
set -euo pipefail别乱用在循环脚本:MySQL 视图表报错会让脚本提前退出- SQL
CONCAT(col, "\t", col)的 \t 是字面量:直接用mysql -sNSELECT 多列 - nginx default_server + return 444 会误伤:未配 443 的子域名被 HSTS 撞上就断
- 批量替换始终用占位符法:短域名误伤长域名的陷阱,占位符一劳永逸
🖼️ 宣传海报展示 · 3 张
以下为本次项目配套的 3 张宣传海报(项目介绍 / 技术极客 / 成果总结),可直接下载用于微信朋友圈、技术社区、团队内部分享等渠道。
📣 宣传文案合集 · 6 大类
以下是本次项目可直接复用的全套宣传文案,覆盖项目简介、功能卖点、海报标题、渠道文案、Slogan、HashTag,方便多渠道分发。
一、项目简介文案(3 个版本)
根据分发渠道和目标受众不同,整理了 3 套文案:正式版用于官网/项目页,精简版适合朋友圈,口语版适合团队内部分享。
版本 A · 正式版(官网 / 项目页)
壹道仪站群开发测试环境 · 整体解决方案
从 VMware 虚机创建、软件栈版本对齐、加密备份恢复,到域名双模式切换、整站换域名工具链——一套零风险、可复现、可迁移的企业级站群开发测试环境解决方案。
全站 6 大子系统(主站 / 导航 / 博客 / 商城 / 禅道 / 部署)完整还原,软件版本与线上 1:1 对齐(nginx 1.26.3 · PHP 8.4.24 · MariaDB 11.8),2 种域名方案共存(dev-on/off 同域名调 bug · switch-env 子域名解耦开发),4 个核心 Shell 工具(dev-on / dev-off / switch-env / change-domain),配套 6 卷 7.5 万字技术文档 + EPUB/HTML 电子书 + 故障排查手册。
不碰线上,不改配置,一台电脑,一条命令,快速切换。
版本 B · 精简版(朋友圈 / 短文案)
从 0 到 1,一台电脑搞定站群测试环境 👇
- 6 大子系统 100% 还原(主站 · 博客 · 商城 · 禅道 · 导航 · 部署)
- 软件版本 1:1 对齐线上(nginx · PHP · MariaDB · Redis · certbot)
- 5 次域名方案迭代,最终双模式完美共存
- 6 卷 7.5 万字完整技术文档,EPUB / HTML / Markdown 全格式
1 条命令切换线上/测试,1 条命令整站换域名。开发、调试、上线,全程零风险。
版本 C · 口语版(团队内分享)
"你知道从零搭一个和线上一模一样的站群测试环境要多久吗?"
—— 以前可能要一两天,现在半天搞定。
我们给 1dao.cc 站群搭了一套完整的开发测试环境:Debian 13 虚机里跑着 6 个站,软件版本和线上完全一致,数据库、代码、HTTPS 证书、OpenClaw 状态,全从备份恢复。
最麻烦的是域名,前后试了 5 个方案:同域名 hosts 覆盖 → .dev 子域名(HSTS 坑)→ .test → dev.前缀 → 双模式共存。
最后搞出了两个神器:
① dev-on/off,一条命令切线上/测试(配合 X-Environment 头一眼认环境)
② switch-env + change-domain,一条命令整站换域名(占位符法零误伤,快照法双向无损)
从头到尾写了 7.5 万字技术文档,做成 EPUB / HTML / Markdown 三种电子书。下次有人问"1dao 站群测试环境怎么搭",直接甩文档。
二、功能卖点文案(5 个卖点)
卖点 1 · 零风险隔离
虚机 + 快照 + hosts 切换 = 永不碰线上
VMware Bridge 模式虚机获得独立 IP,与线上服务器物理隔离。改代码、删数据、压测……一切操作只影响虚机,一条命令回滚或切换,线上稳如磐石。
适用场景:线上问题 Debug、新功能开发、压测演练
卖点 2 · 版本 1:1 对齐
Debian 13 trixie · nginx 1.26.3 · PHP 8.4.24 · MariaDB 11.8
nginx 1.26.3 vs 1.26.3 ✅,PHP-FPM 8.4.24 vs 8.4.24 ✅,MariaDB 11.8 vs 11.8.6 ✅,certbot 4.0.0 ✅,goaccess / fail2ban / Redis 全部一致。版本不一致?不存在的。线上跑的是什么,虚机里就是什么。调试完直接推,不会出现"我本地没问题"的经典场面。
卖点 3 · 双域名模式,鱼和熊掌兼得
方案 A · dev-on/off —— 同域名 + hosts 切换:数据库零修改,数据同步零冲突,专用于线上问题精准复现。
方案 B · switch-env dev —— 子域名 + 数据库快照:浏览器数据天然隔离,可同时访问线上和测试,适合日常开发。
两种模式,一条命令来回切:
dev-on # 线上问题 debug → 同域名模式
switch-env prod
dev-off # 新功能开发 → 解耦子域名
switch-env dev
卖点 4 · 整站换域名,一步到位
change-domain.sh 占位符法 · 400+ 数据库耦合点零误伤
旧方案:先 shop.1dao.cc → dev.shop.1dao.cc,再 1dao.cc → dev.1dao.cc → 结果 shop.dev.1dao.cc 被二次误伤!
新方案占位符法:阶段1 所有旧域名 → @DMNCHG_N_@(唯一占位符);阶段2 占位符 → 对应新域名,零误伤。数据库(crmeb/emlog/walle/zentao 共 4 库)+ 代码文件(24 个)+ 缓存(Redis/runtime/emlog cache),一条命令全部替换。整站迁移?改 env.conf,运行 switch-env init,搞定。
卖点 5 · 7.5 万字技术文档,无死角
6 卷分册 · EPUB / HTML / Markdown 三格式
卷一 项目背景与环境搭建 1.6万字 · 卷二 软件栈安装与数据恢复 1.3万字 · 卷三 域名管理方案演变(5次迭代)1.4万字 · 卷四 换域名工具链开发 0.9万字 · 卷五 经验教训与最佳实践(41条)1.0万字 · 卷六 技术原理深度解析与故障排查 1.3万字。每个 bug 详细记录:现象 → 排查 → 根因 → 修复。每个技术决策说明:为什么选这个?不选那个?代价是什么?下次有人遇到 HSTS 坑、sed -i 平台差异、set -euo pipefail 陷阱,直接翻书。
三、海报主标题 + 副标题建议
海报 1(项目介绍型)
主标题:壹道仪站群 · 开发测试环境整体方案
副标题:6 大子系统 · 双域名模式 · 7.5 万字文档 · 1 条命令切换
核心信息卡:1:1 版本对齐(nginx/PHP/MariaDB) · 双模式共存(dev-on/off + switch-env) · 零风险(VMware 完全隔离) · 可迁移(配置驱动 + 脚本自动化)
海报 2(技术极客型)
主标题:5 次迭代 · 3 个陷阱 · 1 套完美方案
副标题:从 .dev HSTS 坑到占位符法零误伤 · 完整踩坑记录
核心信息卡:踩坑 .dev TLD 强制 HSTS · 踩坑 set -euo pipefail 提前退出 · 踩坑 MySQL CONCAT "\t" 字面量 · 产出 change-domain + switch-env 工具链 · 产出 7.5 万字技术文档
海报 3(成果总结型)
主标题:一天时间 · 从零到生产级测试环境
副标题:站群 6 系统 · 软件栈 7 组件 · 工具链 4 命令 · 文档 6 卷
核心数据:6 大子系统 100% 恢复可用 · 400+ 域名耦合点全量发现 · 24 个代码文件硬编码定位 · 5 种域名方案迭代验证 · 75000 字技术文档输出
四、不同渠道宣传文案 + Slogan + HashTag
微信朋友圈(≤200字)
从零搭了一套 1dao 站群测试环境👇
Debian 虚机 + nginx/PHP/MariaDB 版本 1:1 对齐
6 大子系统(主站/博客/商城/禅道/导航/部署)完整还原
5 次域名方案踩坑,最终双模式完美共存
4 条命令(dev-on/dev-off/switch-env/change-domain)搞定一切
7.5 万字技术文档,EPUB/HTML/Markdown 全格式
不碰线上,不改配置,快速切换。技术人懂的痛,全解决了。🚀
#运维 #站群开发 #测试环境 #DevOps
团队内部公告(邮件 / IM)
【技术资产发布】1dao.cc 站群开发测试环境 + 完整技术文档
各位同事:经过一整天的搭建、踩坑和调优,1dao.cc 站群的开发测试环境已正式就绪,配套技术文档同步发布。
环境特性:VMware 虚机完全隔离,操作零风险;软件栈 1:1 对齐线上;6 大系统 100% 恢复;dev-on/off 一键切换线上/测试;switch-env 子域名模式;change-domain 整站换域名工具。
文档资产:6 卷 7.5 万字完整技术工作记录(含 41 条最佳实践)· EPUB/HTML/Markdown 三种电子书格式 · 6 个常见问题完整故障排查流程。
文档位置:Gitee → huaqidao/ccoad1-infra → docs/dev-env/。脚本位置:scripts/dev-env/。
后续开发、调试、上线都请优先在测试环境验证后再操作线上。有任何问题随时沟通。
技术博客 · 长文标题建议(5 条)
① 《从零搭建企业级站群开发测试环境:从 VMware 虚机到双域名模式自动化》
② 《踩过 .dev HSTS、set -euo pipefail、SQL 转义三个大坑后,我写出了整站换域名神器》
③ 《7.5 万字文档、4 条命令、2 种模式:一个真实站群测试环境的完整踩坑记录》
④ 《如何保证测试环境与线上 100% 一致?1dao 站群实践全记录》
⑤ 《域名切换如何零误伤?占位符法 + 数据库快照法实战》
招聘 / 作品集描述
项目:1dao 企业站群开发测试环境建设
· 为 6 大子系统的企业站群搭建 VMware 开发测试环境,实现与线上 1:1 版本对齐,完全物理隔离。
· 主导域名管理方案 5 轮迭代,最终实现「同域名 dev-on/off + 子域名 switch-env」双模式共存。
· 独立设计并开发 change-domain.sh(占位符法零误伤)与 switch-env.sh(数据库快照法双向无损切换)工具链,使整站迁移成本从"半天手动调"降至"一条命令 30 秒"。
· 输出 6 卷 7.5 万字完整技术文档 + EPUB/HTML/Markdown 电子书,沉淀 41 条运维与开发最佳实践,可直接作为团队 Onboarding 教材。
Slogan 备选(8 条)
1. 壹道仪站群 · 开发测试环境 · 零风险·可复现·可迁移
2. 一条命令切环境,零风险碰线上
3. 5 次迭代终定型,双模式共存无妥协
4. 7.5 万字踩坑记录,技术人懂的都懂
5. 版本 1:1,数据零冲突,调试零风险
6. 占位符法零误伤,快照法双向切换
7. 从 VMware 虚机到整站换域名,一套方案全搞定
8. 不碰线上·不改配置·半天搭完·直接开发
HashTag 建议
#1dao #壹道仪 #站群开发 #测试环境 #DevOps #运维自动化 #VMware #Nginx #PHP #MariaDB #域名管理 #技术文档 #EPUB电子书 #开发效率 #整站迁移 #最佳实践 #踩坑记录 #程序员日常
📎 附件下载汇总 · 共 7 个文件
- EPUB 电子书(86 KB):点击下载 · Apple Books / Kindle / 多看
- HTML 单文件(230 KB):点击下载 / 在线查看 · 左侧目录导航
- Markdown 源文件(183 KB):点击下载 · 版本控制 / 二次加工
- 宣传文案与海报素材.md(10 KB):点击下载 · 纯 Markdown 源文件
- 代码仓库:Gitee · huaqidao/ccoad1-infra
- 文档目录:
docs/dev-env/· 脚本目录:scripts/dev-env/
📦 附件区补充:微信小店商品素材(新增 · 2026-08-22)
随着项目内容的进一步完善,现已补齐「微信小店商品上架」全套素材(共 11 张图 + 1 份完整上架指南 + 38 文件归档包),可直接用于视频号小店 / 微信小程序商城等渠道销售。
| 素材类别 | 数量 | 说明 / 下载链接 |
|---|---|---|
| 🛍️ 微信小店商品素材包指南 | 1 份 Markdown(约 2 万字) | 点击下载:微信小店-商品素材包.md 含:标题/卖点/详情长文案/FAQ/规格参数/上架 Checklist/SEO关键词 |
| 🖼️ 微信小店图片素材 | 11 张(主图 5 + 详情图 6) | 点击访问素材目录(浏览器可逐个下载) 主图 1:1 · 280-470KB 不等;详情图 4:3 · 约 300-500KB |
| 📚 全部素材归档索引清单 | 1 份(38 文件 · 6.2MB) | 点击查看:素材索引与上传清单.md 包含:目录结构、博客附件对照、Gitee 上传结构建议、SEO HashTag 汇总 |
📌 下载提示:如需一次性打包获取全部 38 个文件(6.2MB),请进入 wxshop-material-20260821 目录 或下载「素材索引与上传清单.md」对照目录,路径位于虚机 /content/uploadfile/wxshop-material-20260821/(dev-on 模式:blog.1dao.cc;直连 IP:192.168.207.130)。
🤖 本文 AI 生产力实测:TraeWork 积分消耗报告
本文从环境搭建、文档撰写、电子书打包、宣传素材生成到博客发布,全程由 TraeWork(TRAE AI 原生工作台)驱动完成。以下为本次项目的 AI 工作量与积分消耗估算。
📊 工作量统计
| 任务类别 | 产出内容 | 估算产出字数/文件 |
|---|---|---|
| 📝 技术文档撰写 | 6 卷工作总结(项目背景 / 软件栈安装 / 域名方案 / 工具开发 / 经验教训 / 技术原理) | ~75,000 字 |
| 📚 电子书打包 | EPUB + HTML + Markdown 三种格式 | 3 个文件 / ~510 KB |
| 🎨 宣传海报生成 | 3 张高清海报(蓝色商务 / 暗黑终端 / 数据KPI) | 3 张 JPG / ~1 MB |
| 🛍️ 微信小店素材 | 5 张主图 + 6 张详情图 + 商品文案包 | 11 张图 + ~20,000 字文案 |
| 📢 宣传文案 | 项目简介 3 版本 + 功能卖点 + 渠道文案 + Slogan | ~15,000 字 |
| 🔧 Shell 工具开发 | dev-on / dev-off / switch-env / change-domain 等 6 个脚本 | 6 个脚本 / ~800 行 |
| 📦 博客发布 + 同步 | emlog 博客文章 HTML + 数据库操作 + 线上同步 | ~29,000 字 HTML + 9 附件 |
| 🖥️ 运维操作 | VMware 虚机搭建 / Debian 安装 / Nginx+PHP+MariaDB 配置 / GPG 解密恢复 | ~50+ 条命令行操作 |
💰 积分消耗估算
| 消耗项目 | 估算积分 | 说明 |
|---|---|---|
| AI 对话(多轮交互) | ~3,000 | 50+ 轮对话,含代码生成、调试、推理 |
| AI 图片生成(11 张) | ~1,100 | 5 主图 + 6 详情图,每张约 100 积分 |
| 海报 SVG 生成(3 张) | ~300 | PureShowWidget 内联可视化渲染 |
| 文档/代码长文本生成 | ~2,000 | 7.5 万字文档 + Shell 脚本 + HTML 模板 |
| MCP/浏览器/SSH 工具调用 | ~600 | 50+ 次 RunCommand / SCP / 数据库操作 |
| 合计估算 | ~7,000 | 约占会员 Pro 月配额(4000)的 1.75 倍 |
* 以上为估算值,实际消耗取决于模型选择、上下文长度、生成质量等因素。积分消耗规则以 TRAE 官方计费文档 为准。
🚀 用 TraeWork,你也可以一天搞定这些
本文全部内容——从技术文档、电子书、宣传海报到微信小店素材——均由 TraeWork AI 原生工作台 驱动生成。TraeWork 是 TRAE 旗下的 AI 办公平台,支持对话式完成任务交付,覆盖文档撰写、数据分析、PPT 生成、深度研究等场景,提供网页端、桌面端和移动端。
🎁 邀请福利:新用户注册即得 5000 积分!
通过下方邀请链接注册 TraeWork 并登录桌面端,新用户一次性获得 5000 积分(价值百元),邀请人也可获得积分奖励。积分可用于 AI 对话、图片生成、文档处理等全部能力。
邀请链接:https://www.trae.cn/work-fission/ZM8DLCJC48GU
活动时间:即日起至 2026 年 09 月 01 日。每成功邀请一位新用户注册并登录 TraeWork 桌面端,双方各得 500 Work 专属积分(邀请人通过专属链接可达 5000 积分)。积分有效期 31 天,详情请参阅 TRAE 官方活动页。