如何快速搭建一个博客
昨天的文章发出后有朋友问我有没有搭建教程,我当时回答他说是跟着hexo官网搭出来的。事后想想,仅靠官网上的文档是不足以搭出像我这样一个博客的,虽然并不是很复杂,但我自己在使用hexo之前其实还做了些其他工作。昨天复盘了搭博客的经历,今天就来复盘一下搭博客的步骤吧。
我的博客最终使用的是 hexo + Github Pages 搭建的。前者提供一个搭建模板,用于生成博客的静态网页。后者用来部署同时提供了类似 Nginx、IIS 等 http 代理服务。
准备工作
- 一台安装了 NodeJs 的个人电脑,用来进行文章编辑和发布用,同时也提供文章本地保存,也可以使用Github对项目及文章数据进行保存
- 一个Github的账号,免费的就可以,需要给电脑和账号间配置好ssh,详见github官网。
- 一个域名,由于目前主流浏览器对 http 协议都会进行安全提示,所以最好配个 ssl 证书,证书目前有收费的和免费的,免费的就可以
开始搭建
本地系统搭建,按照官网操作即可,命令如下:
1
2
3
4
5npm install hexo-cli -g
hexo init blog
cd blog
npm install
hexo server运行完命令后,本地预览项目就跑起来了。可以通过浏览器打开 http://localhost:4000/ 预览效果。此时可以在项目文件夹内的source/_post下新建文章了,使用的是markdown格式,而且文章的开头需要按照示例的模板填写文章相关信息,详见官网。
在 Github上新建一个仓库,在项目的_config.yml中配置该项目的地址,以及指定推送的分支。之后会把 生成的静态博客页面发送到这个分支上,用来给 Github Pages 发布用。注意,免费账号只能通过 master 分支发布。
做完上述工作后,就可以在本地运行如下两行命令生成静态网页,并推送到我们先前指定的项目分支中了。
1
hexo clean && hexo deploy
上述命令是重新生成我们的静态网页,希望增量更新可以使用下面的命令
1
hexo generate --deploy
发布到对应的分支后,在项目的 setting 中的 Github Pages 的下,设置一下 source 选项就可以了,选择你要之前配置的发布的那个分支,免费账户目前只能是master。配置好,就能看到 Github 给你分配的项目地址了,一般是 https://你的账户名.github.io/你的项目名/ 这样的形式,过一会就你打开了。之后,你每次添加完文章后,都需要执行第三步来提交网站更新。
补充一下,这里的项目只是用来发布的,如果需要进行项目管理的话,可以用其他分支来保存项目数据,比如edit。也可以另外起一个github项目来保存,我就是使用的这一种方式。
配置域名
到上面我们的完整就可以用了,但是作为个人网站,没有使用一点个人特色的域名总觉得少了些什么。所以接下来,我们配置一下域名。
- 首先在我们的域名提供商那将我们的域名指向前面 Github 提供的地址。域名指向有几种,我们用的是域名指向域名的方式。
- 在github的项目中的 setting 中的 Github Pages 的下,设置一下 Custom Domain 填上我们的域名。此时 Github 的项目中会自动生成一个CNAME文件,里面正是你刚刚填写的域名。
- 到这里我们的域名配置就完成了。但是,Github Pages 有个小bug。那就是我们每次提交更新的时候,项目里面的 CNAME 文件都会被冲掉,需要我们每次都重新填写域名,这非常低效。解决方法是,在你本地项目的 themes 里面的模板文件夹下的 source 文件夹里放入这个 CNAME 文件。也可以直接新建一个无扩展名文件,写入你的域名即可。这样之后,每次更新这个文件会自动部署到你的发布项目中。
- 最后就是 https 的问题了。若你的域名不支持 https 的话很多浏览器会有不安全提醒,这个时候去给你的域名申请一个ssl证书就好了。申请好了以后,在Github的项目中的 setting 中的 Github Pages 的下勾选 Enforce HTTPS 就可以了,Github会自动去证书提供商那里扫描证书,后面打开页面 https 就正常了。
- 值得注意的是,域名配置和申请证书都涉及到相应的运营商,不同的运营商处理的速度不一样,所以域名和证书生效的时间也不等,一般最长不超过一天。
持续写作
如果一切顺利我们的博客就搭完啦,但你会发现它空洞洞的没什么内容。想要博客丰富起来,只能靠你自己持续的写作了^0^。