最近想学着搭建一个个人博客,网上参考了一些资料,发现hexo+github pages这种方案比较流行,就试着弄了一个,现在把搭建过程做个记录。
Hexo
hexo是一款基于Node.js的静态博客框架。能够快速的构建和发布个人博客,同时支持markdown,插件丰富,功能强大。 hexo官网
环境配置
-
安装node.js
hexo是基于node.js的。首先下载node.js并安装。node.js下载 -
安装git
Git是一个开源的分布式版本控制系统。git下载 -
验证node和git是否安装成功
npm是node.js包的管理工具,安装node.js会自动集成npm。
安装Hexo
-
创建一个文件夹,例如blog,右键git bash here
- 安装hexo,执行以下命令
npm install -g hexo -cli
忽略warn即可。
- 继续执行以下命令
npm install hexo --save
忽略warn
- 验证是否安装正确
hexo -v
-
本地运行hexo
初始化hexo
hexo init
npm install
- 启动hexo本地服务
hexo s
此时在浏览器中输入http://127.0.0.1:4000/如果博客正确显示,证明已经在本地部署成功了。ctrl+c停止hexo服务。
github pages
github pages可以提供免费的托管服务,而且有300M的免费空间,这样就避免了去购买服务器或者虚拟主机,可以直接将个人博客挂在上面。
github配置
github账号
如果没有就去申请一个吧。建立一个新的repository
- 注意repository的命名规则(username.github.io这个就是你挂在github pages上的博客域名了)
关联本地blog和github
-
修改本地blog的_config.yml文件
修改deploy:
repository就是github上的仓库地址:
deploy:
type: git
repository: https://github.com/shawnxrx/shawnxrx.github.io.git
branch: master
- 安装hexo git插件
npm install hexo-deployer-git --save
- 部署到github上
hexo d
部署过程中会要求你输入github用户名和密码
如果成功部署会出现这样的提示信息
ok了,现在打开浏览器输入http://shawnxrx.github.io (username.github.io)就会看到你的博客已经部署成功了。
创建自己的第一篇博客
- 使用hexo new 命令快速创建一篇博客
hexo new myfirstpost
此时会在_posts目录下找到新创建的博客myfirstpost。
-
使用Markdown编辑器
Markdown 是一种简单的、轻量级的标记语法。使用markdown写博客非常方便。Markdown编辑器有很多种,去找一款自己喜欢的吧。博客写完后,可以现在本地先进行测试
测试成功后就可以通过hexo d 部署到github pages上了
ok,此时新的文章就发布到了你的博客上了。
- 可以通过修改_config.myl文件定义博客的样式。可以尝试去修改看看效果。具体的可以查看官网文档。
这样一个博客就基本搭建完毕了。如果你对配置SSH、更换博客主题、域名绑定感兴趣可以接着往下看。
配置SSH
每次部署的时候都需要输入用户名和密码来验证身份。如果觉得麻烦,可以通过配置github的SSH Key来解决这样的麻烦。
如何配置github的SSH key,请戳这里。然后修改_config.yml中的repository地址,由https地址变为SSH地址。
然后重新生成并发布。你会发现不再需要输入用户名和密码,效率提高了。
hexo clean
hexo g
hexo d
更换主题
如果对原始的主题不太满意可以在hexo主题中找自己喜欢的主题按照步骤配置即可。
绑定域名
如果觉得github pages本身提供的域名不够高大上,可以自己购买域名来与github pages空间进行绑定。
-
域名购买
有很多提供域名购买的服务商,例如万网。
首先当然是挑选一个属于自己的域名了。博主注册了www.shawnxrx.com这个域名来作为自己博客的地址。作为个人博客的话,域名后缀就不那么重要了,看自己喜欢吧。
-
域名解析
添加解析
搭建网站记录类型选择A,主机记录可以添加www和@两种,记录值填写以下github pages提供的任意一个服务器ip地址即可。
1.192.30.252.153
2.192.30.252.154 -
创建CNAME文件
在博客的public目录创建CNAME文件并将我们的域名地址写进去,然后部署到github上。hexo d命令真正同步的是public目录下的文件。CNAME文件已经同步到了github上了。
查看是否已经绑定成功。
这样我们的博客就和我们自己的域名绑定成功了。