news 2026/9/23 4:13:23

从零搭建个人博客:Hexo静态博客部署与写作实践

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
从零搭建个人博客:Hexo静态博客部署与写作实践

1. 为什么要写博客,而不是发朋友圈

"我的第一篇博客",这个标题看起来简单,但背后牵扯的问题比大多数人想象得多。你打算记录什么、写给谁看、准备投入多少精力,这三件事如果不提前想清楚,博客大概率会变成三个月就断更的僵尸站点。

我最早开始写博客的时候,想法特别朴素:把自己折腾服务器、学编程过程中踩过的坑记下来,免得下次重蹈覆辙。后来发现这事确实值——很多问题我隔半年再遇到,翻自己博客五分钟就能恢复记忆,而别人可能要在搜索引擎里翻两小时。这就是博客最核心的价值:它是你的第二个大脑,一个能随时调取的外部记忆库。

至于说"现在谁还看博客",这种问题没必要纠结。博客和短视频、朋友圈的定位本来就不一样:朋友圈是社交货币,发出去是为了获得即时反馈;博客是沉淀记录,写出来首先是给未来的自己看,其次才是给有同样困惑的陌生人看。哪怕一篇文章只有一个读者,只要那个读者真的需要,这篇内容就有存在的价值。

这篇内容适合谁?想搭建自己个人站的零基础新手、写了几天文章就坚持不下去的间歇性博主、以及把博客当成个人品牌基座的内容创作者。我会从最底层的取舍逻辑讲起,一步步拆解博客搭建、内容规划、写作发布这些环节。文章后半部分有大量踩坑记录,这些都是文档里不会写的东西,希望对你有用。

2. 先定方向,再谈技术:写博客前必须想清楚的三件事

2.1 用定位决定平台选型,别被工具绑架

很多人第一反应是"我要选个什么博客系统",然后一头扎进 WordPress、Typecho、Hexo 的对比里。我建议倒过来:先回答三个问题——你的博客是给谁看的、主打什么内容、愿意花多少时间维护。

如果你希望"登录后台就能写、有评论有统计、界面好看",那动态博客更合适,最典型的就是 WordPress。它全世界市场份额最高,插件主题无数,几乎你能想到的功能都有现成的。但代价是:需要一台服务器(虚拟主机也算)、需要处理数据库备份、需要定期更新版本防止漏洞。这些东西对程序员来说不算事,但对普通写作者来说,每次后台弹更新提示都是一次心理负担。

如果你要的是"专注写作、加载快、不用管服务器",静态博客是更好的选择。Hexo、Hugo、VuePress 这类工具,把文章写成 Markdown 文件,本地生成一堆 HTML 文件,推到托管平台就完成发布。没有数据库、没有后台、没有漏洞需要打补丁,安全性和速度都天生占优。缺点是需要接触命令行,对没碰过终端的人有一定门槛,但说实话,这个门槛大概花两三个小时就能跨过去。

还有一类是"什么技术都不想碰,只想发内容"的朋友,那用 Notion 搭配第三方发布工具、或者直接用语雀、掘金、知乎这类平台都行。博客圈的洁癖患者可能会说这不算"真正的博客",但我不这么想——工具是服务于表达的,只要能稳定输出内容,用什么写根本不重要。

2.2 内容方向决定了你能坚持多久

关于内容方向,我见过太多人一开始就定了个大而全的规划:"我要写技术、写生活、写读书笔记、写影评、写旅行日记"。结果写了一周就发现,每天光是想"今天写哪个主题"就耗光了意志力。博客断更的核心原因通常不是懒,而是方向太模糊,导致每次写之前都要做一轮决策。

更可持续的做法是:选一个你每天都在做的事,把它作为博客的主线。比如你做前端开发,就写每天遇到的前端问题;你爱做饭,就写每周尝试的新菜谱和失败记录;你读专业书,就写读书时想到的、和工作有关联的观点。主线之外的内容当然可以发,但主线决定了你的博客"是什么",也决定了阅读者在收藏夹里怎么归类你。

我当时给自己定的方向很窄:只写"我在个人服务器上折腾出来的经验",包括环境配置、服务部署、性能调优这些。这个方向窄到我都怀疑会不会没人看,但恰恰因为它窄,我的每一篇文章都是真实操作整理出来的,搜索流量反而稳定。到今天为止,给我博客带来最多阅读量的,是最初写的一篇关于服务部署踩坑记录——那篇文章的搜索量至今没有断过。

2.3 维护成本预估:算清楚时间账再做决定

技术选型还有一个容易被忽略的维度:长期维护成本。很多新手只看到搭建那一刻的兴奋,忽略了文章发布之后的持续投入。

我来给你算一笔实际的时间账。如果你用 WordPress,除了写文章花的时间,每个月至少要留出半小时做核心和插件更新,不定期还要检查一下网站有没有被扫描攻击的迹象、数据库有没有异常增长。静态博客省心很多——写完推到托管平台之后基本不用管,本地文件就是所有备份。但从"想写"到"发布",中间每一步都靠命令行,对不熟悉终端操作的人来说,每一篇都会比 WordPress 多花十到十五分钟。

这笔账怎么选都没有错,关键是你得诚实面对自己能分配的时间。如果你每周能自由支配的业余时间少于五小时,那我强烈建议直接用托管平台发文,或者用最小成本的静态博客方案,把精力省给内容本身。博客死在"维护太累"上是最大的浪费。

3. 动手搭建个人博客:完整流程与核心参数讲解

3.1 静态博客方案选型:Hexo 还是 Hugo

考虑到"我的第一篇博客"这个场景,我默认你大概率不是服务器运维老手,所以我只聊两个对新手最友好的静态博客工具:Hexo 和 Hugo。

Hexo 基于 Node.js 生态,中文资料非常丰富,主题数量多、审美在线,社区提问基本都能搜到答案。它的工作机制是:你写 Markdown 文件,它根据你选的主题把文章渲染成静态页面,然后你用一条命令部署到托管平台。Hugo 是 Go 语言写的单二进制工具,渲染速度极快,几十篇文章几乎是毫秒级生成,而且安装只需要下载一个文件,不需要额外运行时。缺点就是主题数量不如 Hexo 多,部分主题的文档偏英语。

我自己的选择是 Hexo。原因很简单:它有一个主题叫 NexT,整体风格非常干净,侧边栏可以放标签、分类、归档、友链,该有的都有,不需要我自己去折腾前端代码。而且 Hexo 在部署时对托管平台的兼容性很好,一个命令就能把整站推上去,对不熟悉 Git 命令的人来说,这条链路的学习成本是最低的。

以下是两个工具的核心对比,你根据自己的偏好直接选就行:

对比项HexoHugo
运行环境Node.js无依赖单文件
生成速度中,百篇文章秒级极快,千篇毫秒级
主题生态丰富,中文主题多相对少,多数偏英文
上手难度中等,需装 Node.js低,下载即用
适合人群喜欢折腾、想要高颜值主题追求极简、文章量大
文档成熟度中文资料多英文文档为主

3.2 本地环境准备与初始化的每个细节

选定 Hexo 之后,本地环境准备是第一步。前面说了 Hexo 基于 Node.js,所以这台电脑上得先有 Node.js 环境。这里有一个新手最容易踩的坑:直接下载了最新版 Node.js,结果某个 Hexo 插件不兼容新版本,排查半天不知道哪出了问题。稳妥的做法是选择 LTS(长期支持)版本,也就是官方标记为"推荐安装"的那个稳定版本,而不是最新的尝鲜版。

Node.js 安装完成之后,打开终端,先确认版本号已经生效,输入这行命令:

node -v

能正常输出版本号,说明环境没有问题。接着全局安装 Hexo 脚手架工具:

npm install -g hexo-cli

安装过程可能持续一两分钟,取决于网络状况。终端界面长时间不动不要慌,它只是在下载依赖包。装完之后,找一个你觉得舒服的目录,执行初始化命令:

hexo init my-blog

这个命令会创建一个名为 my-blog 的文件夹,里面是 Hexo 的完整骨架。然后进入这个目录,装上项目级别的依赖:

cd my-blog npm install

到这里,一个最基础的空博客已经在本地生成了。你可以先跑一下本地预览,看看默认的样子:

hexo server

启动之后,浏览器打开http://localhost:4000,就能看到默认站点的首页。看到那行 "Hello World" 就说明整个链路通了。我到现在都记得自己第一次在 localhost:4000 看到页面时的心情——虽然只是一个什么都没配置的默认页,但那种"我拥有了一个网站"的感觉确实很有冲击力。

3.3 配置文件参数详解:站点信息决定全局

初始化完成之后,在 my-blog 文件夹根目录下,你会看到一个_config.yml文件。这是整个博客的全局配置,里面最核心的就是站点信息部分。这部分配置直接决定搜索引擎怎么描述你的站点、订阅器怎么显示你的博客名称,值得认真填。

# 站点信息 title: 你的博客名称 subtitle: 一句简单描述 description: 用一句话告诉搜索引擎和读者,这个博客主要写什么 keywords: 关键词1,关键词2,关键词3 author: 你的署名 language: zh-CN timezone: Asia/Shanghai

title 会被显示在浏览器标签页和站点首页顶部,建议直接用你的品牌名或真实笔名。description 是 SEO 层面最重要的字段,它会被搜索引擎抓取,用于在搜索结果里展示摘要。keywords 在搜索引擎里的权重已经降低了,但建议还是填上,算是很便宜的优化。language 必须改成 zh-CN,否则默认的主题文字和日期格式都会以英文显示,中国读者看了会显得很别扭。时区建议设成 Asia/Shanghai,不然你发布文章的时间戳会跟你的实际发布时间差好几个小时,归档页的时间轴会错乱。

另外还有一个容易忽略的参数:url。默认值是你的本地地址,等到后面部署到托管平台之后,一定要把它改成你的正式域名。搜索引擎如果发现站内所有链接都指向 localhost,那抓取就会出现大问题。这个参数我亲眼见过朋友漏改,上线一个月谷歌一条都没收录,排查了好久才发现根源在这。

3.4 主题安装与个性化调整的实操细节

默认的 Hexo 主题叫 landscape,长得很朴素。要装我心里的白月光 NexT,直接在你的博客目录下执行:

npm install hexo-theme-next

装好之后,在_config.yml里找到theme字段,把它改成next,然后重启本地服务,主题就生效了。NexT 主题用起来最顺手的地方是它把自定义选项都集中在一个文件里,路径在themes/next/_config.yml,从菜单开启到侧边栏显示什么,全部在里面调。

个性化调整这一步最容易让人上头,我提醒一下控制投入时间。NexT 默认支持菜单导航、打赏、代码块高亮、数学公式、评论系统,这些功能在主题配置文件里展开就能看,每条都有注释。骨架搭好之后,挑两三个你真正需要的打开就够了,比如"归档"菜单和"标签"页面。

我看过不少博客,作者把大量时间花在换字体、调动画、改配色上面,文章却一篇都没写。主题只是集装箱,里面的货物才是读者来看的东西。我建议把主题调到一个"看起来不丑、读起来舒服"的状态就收手,剩下的精力全部留给内容。

3.5 托管部署:把博客从本机搬到公网

本地跑得再欢,也只有你自己能看到。把博客发布到公网,这一步是用 Hexo 过程中最让人有成就感的一步,也是最常出问题的一步。新手入门最常见的路径是使用托管平台结合 Git 工作流来发布。

一个可行的路线是:用国内的代码托管服务创建同名仓库,然后为这个仓库开启 Pages 服务。Hexo 的部署机制其实很简单:它把生成的静态文件推送到你仓库的指定分支,托管平台再把那个分支作为网页展示出来。整个流程你只需要在_config.yml里配置部署信息,然后执行hexo clean && hexo deploy这两步,就会自动把整站推上去。前提是 Git 的账号认证已经配好。

这里有几个我实际操作中总结的细节,写出来可以帮你少走很多弯路。第一,首次执行hexo deploy之前,先确认已经用命令行完成 Git 的全局用户名和邮箱配置,很多报错都源于缺少这两项。第二,如果发布后访问是 404,不要急着怀疑代码,先检查仓库 Pages 服务是否设置过分支,这是最容易忘记的一步。第三,推送成功但页面内容没更新时,等一两分钟再刷新,托管平台对静态页面的缓存策略一般不是即时的,多次强制刷新会看到新内容。

上线之后记得回到_config.yml,把 url 改成你的正式访问域名,然后重新部署一次。同时建议去开发者工具里确认页面标题和描述是否正确显示,这直接关系到后续搜索引擎的收录质量。

4. 写好你的第一篇文章:从标题到正文的拆解

4.1 认识 Front Matter:每篇文章的身份信息

在 Hexo 里写文章不是打开网站后台打字,而是在source/_posts目录下新建 Markdown 文件。每个文章文件的开头都有一段以两个---包起来的元数据,叫 Front Matter,它定义这篇文章的属性。我第一次用 Hexo 时完全不懂这事,结果文章发布出来没有标题也没有日期,分类归档也不认识它,后来才明白是这里没写对。

新手第一篇博文的 Front Matter 用这些字段基本就够了:

--- title: 我的第一篇博客 date: 2025-01-15 10:30:00 tags: - 随笔 categories: - 随笔 ---

title 很关键,它既是文章标题也会成为访问链接的一部分。date 代表发布时间,Hexo 支持你自由填,所以你可以做的一件事是:今天就写下一篇"未来发布"的文章,让博客在你忙到没空更新的日子里也有内容输出。tags 和 categories 是分类信息,建议从第一篇文章就开始认真打标签,等文章数量上来之后,归档页的体验完全取决于这个基础打得怎么样。

4.2 第一篇文章写什么才不算浪费

我知道你现在最关心的是"第一篇到底写什么"。我的建议是:别写那些放之四海皆准的东西,什么"如何坚持学习""时间管理分享""我的年度总结"——这些东西已经太多了,而且跟你的个人经历和博客主题未必有多少关联。

第一篇博客最值钱的定位是"立下锚点"。你可以写你搭建这个博客的完整过程和踩过的坑,这就是一篇真正属于自己的原创内容,将来任何人访问你的第一篇博客,都能立刻知道你是谁、你在干什么、你遇到了什么问题。我当时的第一篇博文详细记录了自己从零到一搭服务器的全过程,包括具体命令和报错信息,后来有个从未见过面的网友照着那篇文章成功搭出了自己的站点,那种感觉比阅读量破千还有成就感。

实在没头绪的时候,有一个标准:选择你上周真实花时间解决过的一件事,把从问题出现到最终解决的全过程写下来。哪怕这件事很小,比如"怎么把路由器改成了 AP 模式才解决了全家信号死角",它也是属于你的真实经验,对恰好遇到同样问题的人来说,这就是最有用的内容。

4.3 段落结构与行文节奏:让读者愿意读完

博客是给屏幕读者看的,跟写论文完全不同。屏幕阅读的特点是扫读——读者会先看标题、加粗字、列表,再决定要不要深读。所以第一篇文章的结构,请遵循"结论先行、每段一个观点、长段落拆短"这三个原则。

开头两句话内告诉读者这篇文章要解决什么问题。正文按"背景 → 操作 → 结果 → 总结"的顺序排布。每个自然段别超过五行,随手分段比攒一大坨好得多,这是移动端阅读的基本礼仪。重要的提示、命令、注意事项用代码块、列表、引用块单独展现,让扫读的读者也能快速抓住关键信息。

行文节奏上,我个人的习惯是:严肃的步骤之间穿插一两句真实感受或自嘲。不是刻意搞笑,而是让文章有"人味"。读者知道你是在分享经验,不是在写说明书。博客相比技术文档的独特优势就在于这个"人味"——你当年的困惑、你的试错、你的顿悟,这些是教程里找不到的。

4.4 发布与检查:发布不是结束,是开始

写完文章,执行hexo clean && hexo deploy或你的发布命令把文章推上线。但发布按钮点下去,工作其实只完成了一半。我每次发布新文章后保留一个固定习惯:

先把站点从头到尾读一遍,重点是标题显示、分类归档、上一篇下一篇的跳转。然后是移动端检查,把文章链接发到自己微信对话框,在手机浏览器上打开看看排版,确认没有奇怪的换行或表格溢出。第三步是检查一下标签页,确认这篇新文章已经被正确归入分类,首页的摘要显示是否正常。

这几个小动作加起来只需要三五分钟,但能避免很多尴尬情况。我见过太多人发布完就关掉浏览器,结果文章里图片裂了一周才发现。自己都不读的文章,凭什么指望读者耐心读下去。

5. 写得舒服,比坚持更重要:日常写作流程与方法

5.1 建立一套固定的写作动线

博客最难的永远不是技术,是持续写。我见过太多朋友兴致勃勃搭好站,写了三篇就再也不动了。要破解这个问题,我的经验是:把"写博客"这件事拆成几个最小的动作,让每一步都轻松到无法拒绝。

我自己的动线是这样的:灵感来了,不打开编辑器,先在手机备忘录里写三行提纲;到了周末的写作时间,把提纲补成初稿,这个过程要求自己只求完成不求完美;第二天再做一次修改和格式化,控制在二十分钟内;最后统一处理图片配图,发布。整个过程被拆成了四天四个小任务,没有哪个环节需要一次性投入超过半小时,这就是我能坚持下来的核心原因。

5.2 素材收集:让灵感不再"用完就没"

很多人断更的另一个原因是"没灵感"。灵感确实会枯竭,但依赖灵感的写作本身就很危险。更靠谱的做法是把素材收集变成一个日常动作。我自己在手机里建了一个专门的备忘录,凡是平时聊天中说出"这个方法真好用"、工作中为某个问题查了半小时资料、或者刷到一句戳中自己的话,就顺手记下来,备注当时为什么觉得它值得记。

这个方法运行三个月之后效果很惊人,备忘录里的素材足够写二十篇文章。而且你会发现,素材之间有共性——那些反复出现的主题,才是你真正擅长和感兴趣的方向。把它们做深,博客的定位会自动变得越来越清晰。

5.3 发布节奏:稳定比高频重要一万倍

在博客的世界里,质量很重要,但稳定是另一个被严重低估的维度。我不建议你追求"日更"——那会让写作变成负担,很快耗尽热情。我更建议每周或者每两周固定一个发布时间,哪怕只写一篇 600 字的小记录,也比攒一个月写一篇 5000 字的长文对习惯的养成更有效。

稳定的输出会让读者建立期待,也会让你自己建立"到点就写"的节奏感。慢慢地,写博客不再需要意志力,它变成一个像刷牙一样的固定动作。到那时候,你的博客才是真正意义上"活"的。

6. 常见问题实录:新手最容易踩的五个坑

6.1 部署后 404 页面的排查顺序

404 是静态博客新手最常见的报错。我的排查顺序是:先确认托管平台的 Pages 服务有没有正确开启,并把服务指向了你部署时推送的那个分支。然后检查本地生成后的public文件夹,用浏览器直接打开public/index.html,如果本地能开说明生成正常,问题出在推送或平台配置。最后看一眼_config.yml里的 url 配置,有没有包含奇怪的子路径。按这个顺序走,大部分 404 都能解决。

6.2 页面显示出来了但样式全乱了

"文章能看但整个布局稀碎",这个问题通常是路径问题引起的。Hexo 默认的站内资源引用是相对路径还是绝对路径,会在你修改 url 之后发生变化。你把字体、图片、CSS 的路径配置检查一遍,尤其是文章里直接写的图片路径。有一个小经验:图片路径统一用 "./" 开头往往比绝对路径更不容易出幺蛾子,但需要你测试本地和线上是否一致。

6.3 图片为什么没法显示

本地预览一切正常,部署上去图片裂了,这几乎是每个静态博客新手都绕不过去的一关。根源通常不是代码问题,而是:

一是文件名有中文或空格,浏览器能处理但服务器未必能正确处理编码。二是没加post_asset_folder相关配置,导致博客不知道去哪找图片。三是你推送时改动了图片路径但本地没有重新生成。

我的习惯是把所有图片第一时间重命名为纯英文字母加数字,放进每篇文章同名的文件夹里,用相对路径引用,这样本地和线上表现完全一致。

6.4 怎么让搜索引擎收录自己

静态博客因为没有后台提交入口,收录速度比动态博客慢,这是正常现象。要在尽短时间内让搜索引擎发现你,有几个靠谱做法:在主流搜索引擎的站长平台提交站点地图;把博客地址放到适合的网站聚合页面并保持稳定访问;如果你有社交媒体账号,每次发布后在个人主页同步链接。这个过程急不来,百度、谷歌都有自己的抓取节奏,一般一个月到三个月之内会有第一批收录。

6.5 评论功能还需要自建服务器吗

静态博客本身就是"无服务器"的产物,但你想要读者能留言,这就比较麻烦。最朴素的办法是用第三方评论服务,注册后在页面上插入一段脚本就行。但需要注意的是:评论区在部分主流平台的要求下需要备案,用不需要备案的国外评论服务可能要面对访问缓慢的问题,这就看你的目标读者群体主要在哪个地区。

如果你短期内完全不在乎评论区——我的建议是可以先不开评论。博客的交流不一定非要发生在评论区,读者通过邮箱、社交平台找到你,往往交流质量更高。等文章数量多了再补评论功能,也完全来得及。

7. 写博客这几个月,我最大的体会

看到这里,博客已经搭建完成、第一篇文章也准备上线了。我要说的是,搭好博客不算是真正的开始,真正的开始是你写下第一篇文章、发布出去、然后第二天发现它真的可以被任何人在任何地方访问的那一刻。

我的第一篇博客文章其实写得很烂,标题冗长,行文啰嗦,配图糊到不行。但我至今不舍得把它删掉,因为它是这个博客的起点。它记录了我在某个晚上,面对一屏幕报错信息,一步步查资料、试错、成功的过程——那个过程本身,比任何华丽的文章都更有价值。后来我会偶尔回头翻翻那篇文章,发现自己当时连个配置文件的注释都看不太懂,现在却能给别人讲明白整个部署链路,这种"回头看"的更新迭代快感,是很独特的。

你不需要等到"准备好了"再开始写,现在就是最好的时间。把这篇发言当作你的第一篇博客,去完成它。你会发现,当你把一个想法完整地写下来,它已经开始改变你看待问题的方式了。这就是博客的魔法,试试看吧。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/23 4:12:56

二叉树遍历全攻略:递归、迭代与层序的代码实现与避坑指南

二叉树遍历这块,说难也难,说简单也简单。难是因为很多朋友在递归改迭代这一步卡住,简单是因为只要理解了“递归序”和“栈的模拟过程”,前中后序加层序就是一马平川的事情。我自己当年刷这块的时候也走过弯路:前序迭代…

作者头像 李华
网站建设 2026/9/23 4:11:37

Windows 10安装苹果妙控鼠标与触控板教程:从蓝牙配对到手势设置

最近又帮朋友折腾了一台Windows 10笔记本,需求其实不复杂:他家里有一套苹果Magic Mouse和Magic Trackpad,想拿到公司ThinkPad上用。一开始我觉得这事儿简单——蓝牙配对上不就行了?但真正做起来才发现,Apple Magic Mou…

作者头像 李华
网站建设 2026/9/23 4:10:25

Word默认打开方式总被WPS改回?关掉这个守护开关即可

1. 问题现象与核心症结定位每次重启电脑后,.doc和.docx文件的默认打开方式被自动改回 WPS,手动设置成 Word 之后过不了多久又失效——这个现象在同时装了 Microsoft Office 和 WPS Office 的机器上非常普遍。我自己经手的办公电脑里,十台有八…

作者头像 李华
网站建设 2026/9/23 4:10:07

WordPress模板开发实战:从需求对齐到上线维护的完整指南

接手一个WordPress模板开发项目,最怕的不是代码写不出来,而是需求没对齐就开工。做了多年的WordPress模板开发,前后给不同类型的客户定制过主题,我越来越确认一件事:模板开发这个行当,真正值钱的不是会写PH…

作者头像 李华
网站建设 2026/9/23 4:06:24

占比计算常出错?从公式、Excel实操到四大陷阱一文讲透

先给你一句大实话:我做了这些年数据分析,发现“部分的百分比”这个看似人人都懂的概念,恰恰是出错率最高的一个点。开会时被领导问“这个占比怎么算的”,当场拿计算器按错的人,我见过不止一个。不是大家数学差&#xf…

作者头像 李华