说明: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/new,Title
随便填,然后把刚刚复制的内容填到Key
确认。
再编辑_config.yml
文件,文件在之前新建的文件夹里,你可以使用ftp
客户端编辑,也可以使用vi
或nano
编辑。
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
强制Http
转Https
。
然后访问你的博客Git
项目地址,点击Create new file
新建文件,命名CNAME
,内容写上你的域名,不要http
等。
这时候就可以通过自己的域名访问博客了。
一般每次同步到Git
的时候,CNAME
文件都会消失,这时候我们需要在本地服务器的/Rats/source
目录里新建个同样的CNAME
文件。这样可以防止CNAME
文件消失,导致域名404
错误。
#你可以用ftp添加CNAME文件,也可以使用命令,注意后面的路径
echo "toot.su" > /Rats/source/CNAME