Github+Hexo搭建个人博客

前言
电脑系统:win10企业版 64位
相关环境包下载链接:https://pan.baidu.com/s/1T-RDhwoMb-slOivQ-qMViQ 提取码:t3xt(包含git与node.js,全部默认安装即可)
最好再下载安装一个Notepad++(小巧而且功能强大)

1.检查环境

打开cmd,输入如图所示命令,Node.js安装成功如下
MZNSyV.pnggit安装成功的标志就是再任意地方鼠标右键会出现如下两个选择
MZNam8.png

2.注册Github以及新建项目

去GitHub注册账号并完成邮箱激活,然后新建项目具体细节如下MZN1FH.png)
项目名称必须为 xxx.github.io,而且需要勾选下方红框内的选项。请自行忽略图片中的警示,因为我已经建立了此项目(本文中的xxx除有特殊说明外均为代指)。在建好的项目右侧有个settings按钮,点击它,向下拉到GitHub Pages,你会看到那边有个网址,这就是GitHub免费给你的域名了,访问它,你将会惊奇的发现该项目已经被部署到网络上,能够通过外网来访问它。
MZNgXV.png

3.安装部署并配置

1.安装Hexo

为了方便管理建议为你的博客本地文件建立单独的文件夹,我的是D:\blog。然后通过cmd进入该文件夹
MZNpLT.png
键入npm install hexo -g开始安装Hexo。
MZNZS1.png
键入hexo -v,检查是否安装成功。
MZNMwD.png

然后在该文件夹下输入hexo init,初始化(漫长的等待………)
MZN8fA.png
MZNkFJ.png
看到最后的的“Start blogging with Hexo”,敲击激动有没有!!!MZtvzq.png

键入npm install安装所需的组件。
MZNkFJ.png
键入hexo g首次体验Hexo。
MZNEWR.png
键入hexo s,访问如图网址,开启本地访问,正式体验Hexo
MZNNOf.png
问题:一直无法访问成功。这是因为默认的4000端口被占用.解决办法就是ctrl+c停止服务器,然后键入hexo server -p 端口号
MZNio4.png
然后再次访问。出现下图即为成功
MZNwTg.png

2.部署到GitHub

在该文件夹中右击选择Git Base Here然后分别键入git config --global user.name "xxx",git config --global user.email "xxx"xxx分别是你注册GitHub时使用的用户名与邮箱,如图.
MZN3Yd.png
键入cd ~/.ssh检查是否有.ssh的文件夹,输入ls,列出该文件夹下的内容。下图说明存在
MZN6lq.pngMZNJSI.png

输入ssh-keygen -t rsa -C “xxx”,连续若干个回车,生成密钥,最后得到两个文件:id_rsa和id_rsa.pub(默认存储路径是:C:\Users\Administrator.ssh)。
MZNKeO.png
输入eval "$(ssh-agent -s)",添加密钥到ssh-agent。
MZNypn.png

在输入ssh-add ~/.ssh/id_rsa,添加生成的ssh key到ssh-agent。
MZNt6P.png
登录Github,点击头像下的settings,添加ssh
MZNCeU.png
点击new ssh key,将id_rsa.pub(用notepad++打开,当作txt处理也可)文件里的内容复制上去title随意。
MZNAY9.png输入ssh -T [email protected],测试添加ssh是否成功。如果看到Hi后面是你的用户名,就说明成功了。注意第一次连接需要输入GitHub的账号密码。
MZNDYj.png
问题:假如ssh-key配置失败,那么只要以下步骤就能完全解决
首先,清除所有的key-pair
ssh-add -D
rm -r ~/.ssh
删除你在github中的public-key
重新生成ssh密钥对
ssh-keygen -t rsa -C "[email protected]"
然后以上正常操作。

3.配置Deployment

在你的博客文件夹中。找到_config.yml文件并打开(用自带的txt比较麻烦,所以再次安利一哈notepad++)。打开拉到末尾,修改如下
MZNQTe.png
注意每个冒号之后都有一个空格,repo值是你在github项目里的ssh,因人而异,把里面复制粘贴过去即可,然后保存。

4.测试

新建一篇博文,在cmd执行命令:hexo new post “xxx”,xxx为博客名。我们起名为“你好,hexo”
MZNBkQ.png
此时在_post文件夹下将会看到已经创立的文件
MZNc60.png
在生成静态页面以及部署文章之前,需要安装一个扩展:npm install hexo-deployer-git --save
MZNd0S.png
这时候普及一哈hexo的命令:
hexo clean 清除缓存
hexo s 本地预览
hexo d 生成静态页面
hexo g 部署到GitHub
最后两条命令往往合写成hexo d -g
使用编辑器编好文章,那么就可以使用命令:hexo d -g,生成以及部署了
MZtzQ0.png
部署成功后访问你的地址:http://xxx.github.io(免费域名)那么将看到生成的文章。
MZNrfs.png

5.绑定域名

如果你想高大上一点弄个www.xxx.com的网址的话就需要花钱了。

1.购买域名

关于购买域名,国内有阿里云,腾讯云,易名等;国外有godaddy,name.com,namecheap等。而且新用户都有优惠,第一年也就几十块钱。买的越多越便宜,三年的话150+左右。但是国外的一些不支持支付宝微信,有的只能用visa信用卡或者运通卡。嫌麻烦就买国内的域名吧,本人就是从腾讯云买的域名,以下以本人为例 其他地方购买的类似。

2.域名解析

现在依据国内政策,国内购买的域名不备案的话管局是不会给你解析的,也就是不能访问,按服务型政府的效率来看20个工作日左右吧。但是如果你迫不及待的话还是有办法的,用国外的dns,虽然速度可能慢一点,但足够使用。等备案完成再换成国内的dns即可。我用的是Cloudns,一家保加利亚的服务商,网站还有简体中文的选项,对大陆及其友好。注册后点击增加新的DNS域,
MZNmy6.png
选择第一个后如下图
MZNnOK.png
第一个框内的东东记下来,第二个框内填你买的域名。然后去你的域名购买商那里作如下修改
MZNPwF.png新填入的域名服务器即为第一个红框内的内容,提交保存即可。

3.绑定域名

进入D:\blog\source新建txt,键入www.xxx.com(你买的域名)保存为CNAME且去掉后缀名(这句划重点)。回到Cloudns,进入如下界面
MZNYlt.png
点击添加新纪录
MZNeQx.png
第一个框填www即可,第二个框填xxx.github.io(你的项目的名字)保存便大功告成了。


Thanks for reward