在Github上搭建个人的Hexo博客,并绑定域名及Https访问

2018-05-06T09:26:00
当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »

说明:Hexo是一个很简洁的博客程序,可将其部署到Github上并使用Git二级域名进行访问,等于为我们节省了服务器和域名成本,而且还可以绑定自己的域名访问,这里就说下具体搭建教程。

简介

Hexo是一个快速、简洁且高效的博客框架。Hexo使用Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。

截图

搭建

1、创建Github账户
浏览器进入https://github.com,注册一个账号,再打开https://github.com/new创建一个项目。名称填Github用户名.github.io

2、安装Node.js和Git
使用SSH客户端登录VPS,运行命令:

#Ubuntu和Debian系统
curl -sL https://deb.nodesource.com/setup_9.x | bash -
apt-get install -y nodejs git

#Centos系统
curl -sL https://rpm.nodesource.com/setup_9.x | bash -
yum install nodejs git -y

3、安装Hexo

#新建文件夹存放Hexo文件,名称自己定
mkdir /Rats && cd /Rats
#安装Hexo
npm install hexo-cli -g
#初始化配置
hexo init
#安装必要组件
npm install
#启动Hexo
hexo server

然后打开http://ip:4000,就可以进入Hexo博客了,如果进不了,请放行服务器的4000端口。接下来我们就同步到Github上。

4、配置Git信息

#请将下面Git用户名和邮箱修改成自己的
git config --global user.name "MOERATS"
git config --global user.email "admin@moerats.com"
#生成密匙
ssh-keygen -t rsa -C "admin@moerats.com"

生成过程可以直接回车,此时会在/root/.ssh目录中生成2个文件,然后打开id_rsa.pub,并复制里面的内容。

cat /root/.ssh/id_rsa.pub

复制好后,使用浏览器进入https://github.com/settings/ssh/newTitle随便填,然后把刚刚复制的内容填到Key确认。

再编辑_config.yml文件,文件在之前新建的文件夹里,你可以使用ftp客户端编辑,也可以使用vinano编辑。

nano /Rats/_config.yml
#编辑网站信息,自己看情况修改
title: Rat's Blog
subtitle: A blog
description: A blog
keywords: A blog
author: Rat's
language: zh-CN
timezone: Asia/Shanghai

#添加配置,在最后添加,请修改为自己的Git地址
deploy:
  type: git
  repo: https://github.com/MOERATS/MOERATS.github.io.git
  branch: master

5、同步到Github
同步前,先安装一个拓展,不然会出现deloyer not found:git错误。

npm install hexo-deployer-git --save

再使用命令同步

hexo g
hexo d

同步的时候,会要求我们输入Github用户名和密码,然后我们就可以通过https://xx.github.io/进入博客了。

6、发布文章
使用命令新建文章。

hexo new "标题"

此时会在/Rats/source/_posts目录下生成个markdown文件,然后你就用Markdown编辑器进行编辑。

接下来就可以使用命令发布并同步到Github了。

hexo d -g

绑定域名

如果你想用Github二级域名访问,就无视这一步,如果你想用自己的域名访问,请继续看。

先解析域名的CNAME记录到你的Git二级域名。如果你想用Https访问,可以使用CloudFlare解析域名,并开启CDN强制HttpHttps

然后访问你的博客Git项目地址,点击Create new file新建文件,命名CNAME,内容写上你的域名,不要http等。

这时候就可以通过自己的域名访问博客了。

一般每次同步到Git的时候,CNAME文件都会消失,这时候我们需要在本地服务器的/Rats/source目录里新建个同样的CNAME文件。这样可以防止CNAME文件消失,导致域名404错误。

#你可以用ftp添加CNAME文件,也可以使用命令,注意后面的路径
echo "www.moerats.com" > /Rats/source/CNAME