基于 Hexo 从零开始搭建个人博客(二)
阅读本篇前,请先配置好相应的环境,请仔细阅读教程 基于 Hexo 从零开始搭建个人博客(一)。
前言
- 博客搭建过程遇到任何问题,优先在本页面搜索,检查是否已经有该配置教程。
- 遇到问题可以优先在文章评论区留言,注意留言时请填写正确的邮箱以确保能收到站长的回复。
- 实在解决不了的问题可添加博主 Wechat ,添加好友时请备注自己的姓名+专业,如 张三 计算机科学与技术。
初始化 Hexo 项目
- 在目标路径(我这里选的路径为【G:/hexo-blog】)打开cmd命令窗口,执行
hexo init
初始化项目。1
hexo init blog-demo(项目名)
- 进入
blog-demo
,输入npm i
安装相关依赖。1
2cd blog-demo //进入blog-demo文件夹
npm i - 初始化项目后,
blog-demo
有如下结构:
【node_modules】:依赖包
【scaffolds】:生成文章的一些模板
【source】:用来存放你的文章
【themes】:主题
【.npmignore】:发布时忽略的文件(可忽略)
【_config.landscape.yml】:主题的配置文件
【_config.yml】:博客的配置文件
【package.json】:项目名称、描述、版本、运行和开发等信息 - 输入
hexo server
或者hexo s
。 - 打开浏览器,输入地址:http://localhost:4000/ ,看到下面的效果,说明你的博客已经构建成功了。
将静态博客挂载到 GitHub Pages
上一篇文章中,我们已经完成了对 GitHub 账户的注册以及 Github Pages 的创建,并且为 GitHub 配置了 SSH key, 我们将博客部署到 GitHub Pages 上即可。
安装 hexo-deployer-git
1 | npm install hexo-deployer-git --save |
修改 _config.yml 文件
在blog-demo
目录下的_config.yml
,就是整个Hexo框架
的配置文件了。可以在里面修改大部分的配置。详细可参考官方的配置描述。
修改最后一行的配置,将repository修改为你自己的github项目地址即可。
请检查自己的默认分支是不是
master
。
1 | deploy: |
部署项目到 GitHub
修改好配置后,运行如下命令,将代码部署到 GitHub。
1 | hexo clean |
- hexo clean:删除之前生成的文件,若未生成过静态文件,可忽略此命令。
- hexo generate:生成静态文章,可以用
hexo g
缩写 - hexo deploy:部署文章,可以用
hexo d
缩写
注意:deploy时可能要你输入 username 和 password。
如果出现Deploy done
,则说明部署成功了。
打开浏览器访问:https://tzy13755126023.github.io ,这时候我们就可以看到博客内容了。
如果出现了本地 css 样式正常,部署到 github 上样式错乱,请移步 Hexo + Butterfly 一些常见问题 一文,其中提到过关于 本地样式正常,部署后就样式错乱的问题。
设置个人域名
现在你的个人网站的地址是 yourname.github.io
。如果觉得不够定制化,可以购买一个专属域名。
这一步不是必要的,如果目前还不想买域名可以先跳过。
腾讯云、阿里云等都是不错的选择,博主选择的阿里云的.com
。购买域名后,实名认证进入阿里云控制台,点云解析进去,找到你刚买的域名,点进去添加两条解析记录,记录值 请填写<用户名>.github.io
,如下图所示:
以我的域名fe32.top
为例,进行如下说明:
主机记录 | 解释 |
---|---|
www | 解析后的域名为 www.fe32.top |
@ | 直接解析主域名 yafine-blog.cn |
* | 泛解析,匹配其他所有域名 *.yafine-blog.cn |
将域名解析为 mail.yafine-blog.cn,通常用于解析邮箱服务器 | |
二级域名 | 如 abc.yafine-blog.cn,填写 abc |
手机网站 | 如 m.yafine-blog.cn,填写 m |
显性URL | 不支持泛解析(泛解析:将所有子域名解析到同一地址) |
将域名指向云服务器,请选择「A」; 将域名指向另一个域名,请选择「CNAME」; 建立邮箱请选择「MX」,根据邮箱服务商提供的 MX 记录填写。
记录类型 | 解释 |
---|---|
A | 用来指定域名的 IPv4 地址(如 8.8.8.8),如果需要将域名指向一个 IP 地址,就需要添加 A 记录。 |
CNAME | 如果需要将域名指向另一个域名,再由另一个域名提供 IP 地址,就需要添加 CNAME 记录。 |
MX | 如果需要设置邮箱,让邮箱能收到邮件,就需要添加 MX 记录。 |
TXT | 在这里可以填写任何东西,长度限制 255。绝大多数的 TXT 记录是用来做 SPF 记录(反垃圾邮件) |
NS | 域名服务器记录,如果需要将子域名交给其他 DNS 服务商解析,就需要添加 NS 记录。 |
AAAA | 用来指定主机名(或域名)对应的 IPv6 地址(例如:ff06:0:0:0:0:0:0:c3)记录。 |
SRV | 记录了哪台计算机提供了哪个服务。格式为:服务的名字、点、协议的类型,例如:_xmpp-server_tcp。 |
显性 URL | 从一个地址 301 重定向到另一个地址的时候,就需要添加显性 URL 记录(注:DNSPod 目前只支持 301 重定向)。 |
隐性 URL | 类似于显性 URL,区别在于隐性 URL 不会改变地址栏的域名。 |
这时候你的项目根目录应该会出现一个名为
CNAME
的文件。如果没有的话,打开博客/source
目录,我的是G:/hexo-blog/blog-demo/source
,新建CNAME
文件,注意没有后缀。然后在里面写上你的域名(例如:fe32.top),保存。最后运行hexo g
、hexo d
上传到github
。这样到最后当你在地址栏输入xxx.github.io
时,才会自动跳转到你的域名。
打开你的github
博客项目,点击settings
,点击Pages
,拉到下面Custom domain
处,填上你自己的域名 ,保存。
部署成功后,再打开你的浏览器,输入你自己的专属域名,即可看到你的博客网站!