<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>个人博客搭建 on Jiangwan&#39;s Blog</title>
        <link>https://jiangwan.ink/tags/%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/</link>
        <description>Recent content in 个人博客搭建 on Jiangwan&#39;s Blog</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <lastBuildDate>Sat, 21 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://jiangwan.ink/tags/%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>个人博客搭建全记录：Hugo &#43; Vercel 方案选择与部署（上）</title>
        <link>https://jiangwan.ink/p/personal-blog-setup-hugo-vercel-part-1/</link>
        <pubDate>Sat, 21 Mar 2026 00:00:00 +0000</pubDate>
        
        <guid>https://jiangwan.ink/p/personal-blog-setup-hugo-vercel-part-1/</guid>
        <description>&lt;p&gt;本次个人博客建站复盘将分为上下两篇。本篇（上篇）主要聚焦于前期的方案选择、Hugo 主题选型，以及如何将博客从本地部署到 Vercel 实现公网上线。&lt;/p&gt;
&lt;h2 id=&#34;一方案选择&#34;&gt;一、方案选择
&lt;/h2&gt;&lt;p&gt;在动手前，我其实考虑过两种方案：一是零自建博客，二是套用成熟的模版。&lt;/p&gt;
&lt;p&gt;以下是我对这两个方案的优缺点对比：&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;维度&lt;/th&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;直接使用模版 (Hugo, Hexo 等)&lt;/th&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;从零自建 (前后端自己写)&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;主要目的&lt;/strong&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;快速搭建，把核心精力放在写内容上。&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;将博客本身作为一个独立的项目经历写进简历。&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;时间成本&lt;/strong&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;极低（几个小时即可上线）。&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;很高（需要设计数据库、写接口、调前端、部署）。&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;技术展现&lt;/strong&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;展现你的技术深度、总结能力和开源参与度。&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;直接展现你的编码能力、架构设计和业务逻辑处理。&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;维护难度&lt;/strong&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;几乎为零，专注于 Markdown 写作。&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;需要自己处理 Bug、服务器安全、数据库备份等。&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;作为一名在校生，从零自建固然能展示项目思路，但我最终还是选择了成熟的模板方案。原因很简单：我已经有其他的实际项目背书，不需要再靠一个博客来证明开发能力。此外，个人“造的轮子”在 SEO 优化、移动端适配等细节上，往往拼不过开源社区沉淀多年的成熟产物。&lt;/p&gt;
&lt;h2 id=&#34;二hugo-主题选型&#34;&gt;二、Hugo 主题选型
&lt;/h2&gt;&lt;p&gt;在确定使用由 Go 语言编写、构建速度极快的静态网站生成器 Hugo 后，我重点考察了 GitHub 上 Star 极高的三款主题：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;PaperMod&lt;/strong&gt;：极简主义的巅峰。加载速度极快，没有任何多余的视觉干扰。如果你的博客全是硬核的底层原理分析，它非常合适。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Blowfish&lt;/strong&gt;：专为程序员打造的“全能战士”。支持直接集成 GitHub 状态卡片，非常适合把博客当作开源作品集的人。&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Stack&lt;/strong&gt;：卡片式的精美个人主页。它采用了类似社交媒体的左侧固定导航栏，UI/UX 简单但布局清晰。实际体验下来，它甚至带给我一种读小说般的沉浸感。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;最终，我选择了 &lt;strong&gt;Stack 主题&lt;/strong&gt; 作为我的博客模版。&lt;/p&gt;
&lt;h2 id=&#34;三搭建复现&#34;&gt;三、搭建复现
&lt;/h2&gt;&lt;p&gt;以下是具体的实操步骤。需要注意的是，Stack 主题因为使用了 SCSS 编译，所以必须安装 Hugo Extended（扩展版）。&lt;/p&gt;
&lt;h3 id=&#34;step-1-安装-hugo-extended&#34;&gt;Step 1: 安装 Hugo Extended
&lt;/h3&gt;&lt;p&gt;根据你的操作系统，在终端运行相应的命令：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;macOS (使用 Homebrew)&lt;/strong&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;brew install hugo
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Windows (使用原生包管理器 Winget)&lt;/strong&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;winget install Hugo.Hugo.Extended
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;安装完成后，验证一下版本（请确保输出信息里带有 &lt;code&gt;extended&lt;/code&gt; 字样）：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hugo version
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;step-2-初始化项目并拉取主题&#34;&gt;Step 2: 初始化项目并拉取主题
&lt;/h3&gt;&lt;p&gt;创建一个新的 Hugo 站点，并将 Stack 主题作为 Git 子模块引入：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 创建站点目录&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hugo new site myblog
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; myblog
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 初始化 git 仓库&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git init
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 将 Stack 主题拉取到 themes 目录&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git submodule add https://github.com/CaiJimmy/hugo-theme-stack.git themes/hugo-theme-stack
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;step-3-偷懒神技--复制-examplesite&#34;&gt;Step 3: “偷懒”神技 —— 复制 ExampleSite
&lt;/h3&gt;&lt;p&gt;这是上手 Stack 主题最快的方式。主题作者已经配好了一套完整的演示模板，我们直接拿来用：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 在 myblog 根目录下执行：将示例站点的配置文件和内容复制到你的项目根目录并覆盖&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cp -r themes/hugo-theme-stack/exampleSite/* ./
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;注&lt;/strong&gt;：Windows 用户如果觉得命令行麻烦，可以直接在资源管理器中，把 &lt;code&gt;themes/hugo-theme-stack/exampleSite/&lt;/code&gt; 下的所有文件手动复制并粘贴到项目根目录。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;step-4-本地启动&#34;&gt;Step 4: 本地启动
&lt;/h3&gt;&lt;p&gt;在终端运行以下命令，然后打开浏览器访问 &lt;a class=&#34;link&#34; href=&#34;http://localhost:1313&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;http://localhost:1313&lt;/a&gt;，你就能看到博客的雏形了！&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hugo server -D
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;四vercel-部署与域名绑定&#34;&gt;四、Vercel 部署与域名绑定
&lt;/h2&gt;&lt;p&gt;本地测试没问题后，我们需要把它部署到公网。传统流程通常需要购买服务器和域名、进行工信部备案，还要手动配置 SSL 证书，过程相对繁琐。这里我强烈推荐使用 &lt;strong&gt;Vercel&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;只需简单配置域名 DNS 解析和环境变量，之后每次上传代码就能实现自动 CI/CD。Vercel 还会自动生成 SSL 证书并提供全球 CDN 加速，不仅极大地提升了用户的访问体验，还彻底省去了维护服务器的麻烦。&lt;/p&gt;
&lt;h3 id=&#34;step-1-将代码推送到-github&#34;&gt;Step 1: 将代码推送到 GitHub
&lt;/h3&gt;&lt;p&gt;在 GitHub 上新建一个仓库（比如叫 &lt;code&gt;my-blog&lt;/code&gt;），然后将本地代码 Push 上去：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git add .
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git commit -m &lt;span class=&#34;s2&#34;&gt;&amp;#34;init blog&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git branch -M main
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git remote add origin https://github.com/你的用户名/my-blog.git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git push -u origin main
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;step-2-vercel-一键部署与环境变量配置&#34;&gt;Step 2: Vercel 一键部署与环境变量配置
&lt;/h3&gt;&lt;p&gt;登录 Vercel，点击 &lt;strong&gt;Add New&amp;hellip; -&amp;gt; Project&lt;/strong&gt;。绑定你的 GitHub 账号，导入刚刚创建的 &lt;code&gt;my-blog&lt;/code&gt; 仓库。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;关键一步&lt;/strong&gt;：因为 Stack 主题对 Hugo 版本有要求，我们需要在部署前展开 &lt;strong&gt;Environment Variables (环境变量)&lt;/strong&gt; 选项卡，添加一条记录：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Key&lt;/strong&gt;: &lt;code&gt;HUGO_VERSION&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Value&lt;/strong&gt;: &lt;code&gt;0.160.0&lt;/code&gt; （建议填最新版本号，至少不低于 &lt;code&gt;0.157.0&lt;/code&gt;）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;点击 &lt;strong&gt;Deploy&lt;/strong&gt;。等待几十秒，Vercel 就会为你自动构建并分配一个临时域名。此后，你每次往 GitHub push 代码，Vercel 都会自动触发更新。&lt;/p&gt;
&lt;h3 id=&#34;step-3-绑定自定义域名&#34;&gt;Step 3: 绑定自定义域名
&lt;/h3&gt;&lt;p&gt;如果你像我一样在腾讯云（或阿里云）购买了专属域名（如 &lt;code&gt;jiangwan.ink&lt;/code&gt;），还需要进行一下解析：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;进入 Vercel 该项目的 &lt;strong&gt;Settings -&amp;gt; Domains&lt;/strong&gt;，填入你的域名 &lt;code&gt;jiangwan.ink&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;登录腾讯云域名控制台，找到该域名，添加一条 A 记录：
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;主机记录 (Name)&lt;/strong&gt;: &lt;code&gt;@&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;记录类型 (Type)&lt;/strong&gt;: &lt;code&gt;A&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;记录值 (Value)&lt;/strong&gt;: 填写 Vercel 提供的 IP 地址（如 &lt;code&gt;76.76.21.21&lt;/code&gt;，具体以 Vercel 提示为准）&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;等待几分钟 DNS 生效，你的博客就正式公网上线了！&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;至此，我们的个人博客已经基本搭建完成，可以开始撰写并发布文章了。但相比于一个功能完备的博客，它目前还缺少一些进阶配置，例如：评论区、友情链接以及后台用户数据统计。&lt;/p&gt;
&lt;p&gt;在下篇中，我将带大家一步步完成这三大进阶配置。敬请期待！&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
