mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4
1857 字
5 分钟
基于Astro+Mizuki+GitHub Pages的自定义免费博客网站建站过程
2026-07-08
2026-07-18

封面pid:133535742


第零步:准备工作#

我们需要安装Git,Nodejs,以及准备一个GitHub账号,并且创建一个自己的仓库用于存放我们的代码,这样我们的博客便托管在GitHub上(甚至服务器都借用的GitHub的不用自己掏钱了XD)。

  • 安装Git
  • 安装Node.js(版本需>=22)
  • 创建一个GitHub账户
  • GitHub网页新建一个Github仓库,不是从Github Desktop新建一个本地仓库!
    可将仓库命名为<用户名>.github.io
  • (可选)安装GitHub Desktop

如果使用GitBash执行指令push,pull,clone时出现类似这样的报错:

Failed to connect to github.com port 443 after 21052 ms: Could not connect to server

大概率是Git的代理配置出了问题,可以用更改代理的方法解决,但是另一个更简单快捷的方法是使用 GitHub Desktop,GitHub Desktop会自动配制好我们的网路,而且图形化的操作窗口更加简单,适合新手使用。
GitHub Desktop使用参考
安装完成后,可以Win+R调出cmd输入以下指令查看git和nodejs是否正确安装。

Terminal window
git -v
node -v
npm -v

然后在cmd中输入以下指令安装pnpm:

Terminal window
npm install -g pnpm

安装完成后,需要重启电脑保证成功部署。


第一步:clone仓库到本地#

在本地任意位置新建文件夹(可命名为git),然后右键并选择 “Open Git Bash here”,在窗口里输入指令:

git init

顺带一提git里面粘贴是Shift+Insert而不是Ctrl+V,同样地复制是Ctrl+Insert而不是Ctrl+C
之后这个文件夹就成为了你本地的git仓库。
然后将Mizuki仓库clone到本地。

git clone https://github.com/LyraVoid/Mizuki.git

若出现443报错可安装Github Desktop解决
此时Mizuki的仓库就已经clone到本地了,不过,在更改它的文件之前,我们还要先删除原来的.git信息,否则.git里面包含的提交url仍然是https://github.com/LyraVoid/Mizuki.git,进而导致我们之后push的时候就会默认push到Mizuki的仓库而不是我们自己的仓库导致访问被拒绝。
具体地,按照以下步骤进行操作:

  1. 进入Mizuki目录:
cd Mizuki
  1. 删除原有的git信息:
rm -rf .git
  1. 重新初始化:
git init
git add .
git commit -m "Initial commit"
  1. 再连接到自己的Github仓库:
git remote add origin https://github.com/<你的用户名>/<仓库名>.git
git branch -M main

现在这个仓库就完全属于我们自己了,后续的改动也不会受到原仓库的影响。

20260718补:若使用GitHub Desktop,按照以下步骤进行:

  1. 打开GitHub Desktop,从左上角File下拉菜单中选择Clone repository,在弹出的窗口中选择URL,在第一栏输入https://github.com/LyraVoid/Mizuki,第二栏选择你希望将文件放在的位置;
  2. 找到下载的文件的文件夹,右键此文件夹(Mizuki),选择 “Open Git Bash here”,然后后从上面的第二步继续操作。

第二步:○○,启动!#

使用pnpm安装项目依赖:

pnpm install

可以用pnpm -v检查是否安装完毕,随后执行指令

pnpm dev

稍等片刻后,便可看到本地开发服务器成功启动,从返回的信息中可以看到服务器已经成功在本地http://localhost:3000/启动(实际上官方文档里写的是http://localhost:4321/),将其复制后粘贴进浏览器即可看见本地启动的网站。(不要关闭GitBash窗口!!!)


第三步:配置你的网页#

参考Mizuki主题的官网文档进行配置。
更改本地仓库的文件后进行保存,浏览器中的网页会自动刷新,即刻展示修改内容(文章修改可能会卡一会)。
配置完后可以在Mizuki目录中使用以下指令检测是否有报错,确保网站上传后能正常运行。

pnpm build

在build成功之后,可以使用以下指令预览网站的实际样式,同样地,从返回信息中的http://localhost:3000/访问本地的网站:

pnpm preview
  • tips1:官网文档里“基础布局”和“文章布局”栏目中包含的src/config.ts文件,实际上指的是src\config文件夹,siteConfig对象指的是这个文件夹中的文件siteConfig.ts,其他同理。此外,“文章布局”栏目中toc对象放在文件siteConfig.ts之中。(好乱啊wwwww)
  • tips2:如果需要更改界面文字,可以到\src\i18n\languages\zh_CN.ts中更改。
  • 补:build阶段若出现以下的报错:
16:36:51 [ERROR] [vite] ✗ Build failed in 3.93s
WebAssembly.Memory.grow(): Maximum memory size exceeded

有可能是修改了\src\data\skills.ts导致的。
初步判断在skills.tssimple-icons:nginxsimple-icons:firebasesimple-icons:sqlitesimple-icons:express这四个icon的文本需要有至少一个文本被包含在文件中,才能正常运行。
解决方式:在文件skills.ts开头加上以下的注释。(这很诡异你知道吗)

// "simple-icons:sqlite"

第四步:提交到GitHub#

在网页GitHub的仓库里打开 Settings ,在其中找到 Pages ,将Build and deployment 中的 Deploy from a branch 更改为 Github Actions
然后打开\.github\workflow\deploy.yaml,将其替换为以下代码:

name: Deploy to GitHub Pages
on:
# 每次推送到 `main` 分支时触发这个“工作流程”
# 如果你使用了别的分支名,请按需将 `main` 替换成你的分支名
push:
branches: [ main ]
# 允许你在 GitHub 上的 Actions 标签中手动触发此“工作流程”
workflow_dispatch:
# 允许 job 克隆 repo 并创建一个 page deployment
permissions:
contents: read
pages: write
id-token: write
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout your repository using git
uses: actions/checkout@v4
- name: Install, build, and upload your site
uses: withastro/action@v3
with:
# path: . # 存储库中 Astro 项目的根位置。(可选)
node-version: 22 # 用于构建站点的特定 Node.js 版本,默认为 20。(可选)
# package-manager: pnpm@latest # 应使用哪个 Node.js 包管理器来安装依赖项和构建站点。会根据存储库中的 lockfile 自动检测。(可选)
deploy:
needs: build
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4

官网文档中的代码node-version默认是20,但是实际上构建这个网站需要node-version至少22.13,这会导致GitHubActions的build过程中报错,因此我在此处直接将其改为22。
运行以下指令,将你的网页代码提交到GitHub仓库中。

git add .
git commit -m "Summary message"
git push

若出现443报错可安装Github Desktop解决
提交完成之后,GitHub便会自动帮助我们build和deploy网站。
build和deploy都成功后,我们便可以到<用户名>.github.io上去访问自己的个人网站啦。
后续维护时,也只需执行以上三段指令,即可将本地的进度同步到GitHub Pages。
20260718补:使用GitHub Desktop进行提交时,按照以下步骤操作:

  1. 修改完文件后,点击左下角蓝色按钮 “Commit xxx files to main”
  2. 点击右侧蓝色按钮 “Push origin”

后记#

创建这个网站的目的:#

呆在家太无聊了
放假前看到这篇文章:基于Hexo+Github的自定义免费博客网站建站过程
然后一时兴起也想搭建自己的blog,就用呆在家的几天照着文档部署了GitHubPages,再借此熟悉一下git的操作。因为自己也是萌新,而且完全没有学过前端开发,解决方案基本都是问AI的(虽然大部分解决方案都无法实现还得是自己来摸索),所以严格来说这篇文章不能算是一篇教程,相对而言,他更像是一种记录,希望也能帮助到其他人。
此外,我也希望能给我之后做的东西有一个归宿——而个人blog正是一个完美的容器:任何事情,从视频,硬件技术,到游戏,追番,打舞萌,甚至平时内心的独白都能塞进这个blog里面,也许是为了满足自己的分享欲,也许是为自己正在做的事情增添一份动力,总之先开个头吧。


20260718补:怎么有铸币以为GitHub和Git是一个东西的(恼)

基于Astro+Mizuki+GitHub Pages的自定义免费博客网站建站过程
https://nf3eb.github.io/posts/20260708/20260708/
作者
NF3eb
发布于
2026-07-08
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时

目录