三天从零到上线
· 阅读需 4 分钟
一个古典博客的云上历险记
主角:一个受够了平台绑架、讨厌模板、想在 2026 年做点“自己的东西”的人
工具:DeepSeek(AI 副驾驶)、Docusaurus、云服务器、宝塔面板
最终产物:一个简陋但属于自己的小木屋(公网可访问)
📅 第一天:从本地到“能看”
🎯 目标
在本地跑起一个博客框架,能写 Markdown,能预览。
🧱 做了什么
- 安装 Node.js、npm
- 用 Docusaurus 初始化项目
- 写第一篇博客(关于家乡鸡和五星好评的困惑)
- 配置
docusaurus.config.js,改 favicon、改导航栏 - 图稿页面:左侧索引 + 右侧网格(
sketch.md+ 自定义 CSS) - 运行
npm start,本地localhost:3000能看到
🕳️ 踩了什么坑
- 改
docusaurus.config.js少了一个引号 → 服务起不来(编辑器的重要性) - 图片放错位置 → 404
- “为什么我改完代码没变化?” → 因为 Docusaurus 是静态生成,要重新
npm run build
🏁 里程碑
本地有了一个能写、能看、长得还行的网站。
📅 第二天:从本地到云上
🎯 目标
买一台服务器,把网站放上去,让别人也能看到。
🧱 做了什么
- 研究云服务器(国内 vs 香港,备案 vs 免备案)
- 选择一台基础配置的云服务器
- 国内服务器需要备案(1–2周),前期先通过 IP 直接访问
- 服务器镜像选择「宝塔Linux面板」(减少命令行操作)
- 登录宝塔面板,安装 LNMP 环境
- 把本地打包后的
build文件夹上传到服务器指定目录 - 在宝塔中添加站点(绑定 IP 或临时地址)
- 浏览器访问 → 成功
🕳️ 踩了什么坑
- 修改面板端口前未在云厂商防火墙放行 → 被锁在外面
- 添加站点时误选了系统关键目录 → 需要建独立子目录
- 上传文件后未移动到正确根目录 → 404
- 浏览器缓存问题 → Ctrl+F5 强制刷新
- 修改版权信息被 JS 覆盖 → 框架配置会编译到 JS 中
🏁 里程碑
网站真正“上线”了,任何人都能访问。
📅 第三天:安全感、成就感、以及“接下来呢?”
🎯 目标
让网站更安全、更顺手,并理解“我到底建了个什么”。
🧱 做了什么
- 修改宝塔面板的默认端口和默认管理员信息
- 理解“改完配置要手动重启”的 Linux 反直觉设计
- 安全告警:绝大多数与个人博客无关(不碰系统级防火墙)
- 暂不考虑域名、备案、自动化部署
- 意识到:所有源码在本地,服务器只是一个临时窗口 → 随时可以重建
- 手机端与电脑端的浏览体验差异
- 收到家人反馈 → 交互对非技术用户不够透明
🕳️ 踩了什么坑
- 改了面板配置没重启服务 → 登录失败(通过面板自带命令解决)
- 反复被 JS 覆盖手动修改内容
- 大量安全告警 → 对个人站点不必过度处理
🏁 里程碑
不再怕服务器炸了。炸了就重装,反正东西在本地。
📦 最终状态
| 项目 | 状态 |
|---|---|
| 本地源码 | 本地硬盘(有备份) |
| 服务器 | 基础配置云服务器 |
| 面板 | 宝塔 Linux(已改端口与管理员信息) |
| 网站地址 | 公网可访问(暂未绑定域名) |
| 内容 | 数十张图稿、十多篇博客、近万文字 |
| 下一步 | 继续写,暂不扩展复杂功能 |
🧠 三天里学会的最重要的事
-
工程师不是记性好,是坑踩得多。
你记不住命令很正常,但你会搜、会问、会试。 -
本地优先 = 终极安全。
服务器炸了可以重来,源码丢了才是真完了。 -
“能用”和“好用”之间隔着一万个“不想用”。
但你可以一点点调,不用急。 -
AI 是副驾驶,不是司机。
DeepSeek 帮你省了大量查文档的时间,但最终判断还是自己做。 -
成就感是真的。
从零到有一个链接可以发给别人,这个过程本身就很值。