跳到主要内容

三天从零到上线

· 阅读需 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(已改端口与管理员信息)
网站地址公网可访问(暂未绑定域名)
内容数十张图稿、十多篇博客、近万文字
下一步继续写,暂不扩展复杂功能

🧠 三天里学会的最重要的事

  1. 工程师不是记性好,是坑踩得多。
    你记不住命令很正常,但你会搜、会问、会试。

  2. 本地优先 = 终极安全。
    服务器炸了可以重来,源码丢了才是真完了。

  3. “能用”和“好用”之间隔着一万个“不想用”。
    但你可以一点点调,不用急。

  4. AI 是副驾驶,不是司机。
    DeepSeek 帮你省了大量查文档的时间,但最终判断还是自己做。

  5. 成就感是真的。
    从零到有一个链接可以发给别人,这个过程本身就很值。