Hexo是一款基于Node.js的静态博客框架,使用其搭建博客非常方便,而搭建了博客就需要将其部署到服务器才能供人访问。Github是全球最大的代码托管平台,而且可以为每个用户提供一个免费的可以用域名访问的仓库:用户名.github.io,将个人博客部署在GitHub上也是非常方便。
一、准备搭建环境
- 注册一个GitHub账号,官网链接:GitHub
- 下载安装git,用于在本地更新和管理仓库,官网链接:download git
- 下载安装Node.js,用于支持Hexo框架,官网链接:Node.js,node安装的同时会自动把npm安装好:
- 注意:node安装好后需更改node_global和node_cache两个文件夹的默认位置。在nodejs文件夹中分别创建node_global和node_cache两个空文件夹,打开cmd运行(路径改成自己nodejs文件夹的路径):
npm config set prefix "D:\nodejs\node_global"
npm config set cache "D:\nodejs\node_cache"
二、本地搭建Hexo博客
- 创建一个空文件夹Blog
- 进入Blog文件夹中以管理员身份打开cmd,运行:
npm install -g hexo-cli
hexo init
等待初始化结束后,文件夹中多了一些文件,变成这样:
继续在cmd中运行:
hexo g
hexo s
此时在浏览器中输入网址localhost:4000应该能看到已经完成了本地博客的搭建:
三、在Github上创建仓库
在GitHub中创建一个名为"你的账户名.github.io"的仓库,这个名称一个账户只能拥有唯一一个,也默认会在这个仓库中生成你这个github账号的网页。
1.
2.
3.
如果仓库默认主分支不是master,还需要将其改为master。修改默认分支
四、将本地博客上传至GitHub
- 首先需要将本地git与GitHub账户绑定,使git获得上传修改仓库的权限:
在Blog文件夹中右键,点击Git Bash Here,运行:
ssh-keygen -t rsa
按四次回车,就会在 C:\Users\root.ssh 文件夹下生成公钥和私钥两个文件,我们需要将公钥id_rsa.pub的文件内容复制添加到GitHub的ssh密钥中,可以用记事本打开id_rsa.pub。
结束之后,在git bash中输入:“ssh -T git@github.com” 进行检验,第一次需输入一个yes,若出现下图则绑定成功。
- 修改Blog主题,主题官网:Hexo主题
选择一个喜欢的主题,打开他的GitHub网址,复制仓库地址:
在Blog文件夹下打开git bash,输入:
git clone 仓库地址 themes/主题名称
- 修改Blog的配置文件,打开Blog中的 _config.yml 文件,修改theme: xxxx为刚才下载的主题。拖到最下面,将deploy……改成:
deploy:
type: git
repository: https://github.com/yang-xiaoyuan/yang-xiaoyuan.github.io.git #你的仓库地址
branch: master
- 在Blog文件夹下打开git bash,输入:
hexo clean # 清空已有的网页文件
hexo g # 生成网页文件
hexo d # 推送到GitHub仓库
如果出现 OpenSSL SSL_read: Connection was reset, errno 10054错误,尝试执行 git config --global http.sslVerify “false” 后再执行hexo d,如果出现Time out的问题,大多是因为网络问题,多试几次或过一会儿再试就可以了。
- 刷新仓库,可以看到网页文件已经被上传到仓库,此时在浏览器中输入 “https://你的账户名.github.io” 就可以看到你的博客了,大功告成!
五、绑定域名
如果你觉得 “https://你的账户名.github.io” 这个域名太复杂或者太难看,可以在阿里云或者华为云买一个自己的域名,将域名解析到自己博客的ipv4网址,博客的网址可以通过ping命令来查看:
ping 你的账户名.github.io
然后在本地Blog/source文件夹中创建一个名为CNAME的文件(用于从域名指向域名的设置),该文件中添加一行自己的域名,保存即可,然后重新上传。
域名的解析可能会有延迟,我是大概半小时左右之后再输入域名,才能查看得到自己的博客。