前言
现在各种互联网博客非常的,常见的如优快云、简书、掘金、博客园等平台,这些博客平台做的都很好,可以直接在上面注册自己的账号写文章,发表的文章在百度、Bing等搜索引擎上也能收到,但缺点是受于平台的各种限制,个人定制化不自由,而且大多数平台都会有各种广告。
于是想到自己搭建一个博客网站,但对大多数人而言,自己购买服务器和域名来搭建博客成本实在太高的了,而且有点浪费,还需要定期维护,这时一种不错的选择就是使用第三方开源托管平台(GitHub、GitLab等)来当作我们的服务器,并使用快速简洁的博客搭建框架-Hexo来搭建博客网站就非常容易了,下面就来介绍一下使用hexo搭建博客的步骤及一些配置吧。
Hexo简介
Hexo是由台湾大佬开发的一款基于Node.js的静态博客框架,依赖少易于安装使用,可以方便的生成静态网页托管在GitHub、Coding、Gitlab等平台上,是搭建博客的首选框架。而且Hexo支持Markdown的所有语法功能来编辑网页内容,编辑的内容生产静态网页速度很快,上百个页面在几秒内瞬间完成渲染。Hexo部署发布也很方便,只需要一条指令即可发布到配置GitHub、 Heroku 等平台。下面就开始一步步的完成搭建吧,大家也可以进入Hexo官网查看详细的搭建教程。
1. 安装Git
Git是目前世界上最先进的分布式版本控制系统,可以有效、快速的处理各种项目版本管理。在这里就是用来管理我们写的Hexo博客文章,并上传到GitHub等平台的工具。
在Mac和Linux系统上安装Git非常容易。
Mac电脑上安装只需要执行下面的命令即可,使用Homebrew来安装
brew install git
Linux是一个开源的操作系统,市面上有很多优秀的Linux系统,不同的系统上安装Git执行的命令可能略有不同,具体的查看Git官网上对应系统的安装命令,这里以Ubuntu系统安装Git为例。
sudo apt-get install git
Windows 上安装需要先下载Git安装包,然后点击安装包使用默认的配置一步步安装就可以了。
安装完成之后在命令执行窗口输入git --version
即可检查是否安装成功,并能看到安装的git版本号。
Git有一个专门命令行工具Git Bash,Windows在任何地方只要鼠标右键,然后点击Git Bash Here
就可以在当前目录路径下打开命令行窗口了。
2. 安装nodejs
Hexo是基于nodeJS编写的,所以需要安装一下nodeJs和里面的npm工具。
Windows和Mac上面安装,下载nodejs的LTS版本的进行安装就可以了。
Linux上面安装直接执行下面的命令即可:
sudo apt-get install nodejs
sudo apt-get install npm
安装成功之后可以使用下面的命令查看是否安装成功及对应版本号:
node -v
npm -v
3. 安装Hexo
前面git和nodejs安装好后,就可以安装hexo了,你可以先创建一个文件夹如blog,然后cd
到这个文件夹下(或者在这个文件夹下直接右键git bash here打开)。
输入下面的命令安装Hexo:
npm install -g hexo-cli
然后可以使用hexo -v
查看是否安装成功及hexo的版本号。
Hexo安装之后,再执行下面命令初始化Hexo项目,这里的Blog
名称可以随便取。
hexo init Blog
cd Blog
npm install
初始化成功之后,会在当前目录下面创建一个Blog文件夹,Blog文件下面会生成下面这些目录文件:
- node_modules: 依赖包
- scaffolds:生成文章的一些模板
- source:用来存放你的文章
- themes:主题
- _config.yml: 博客的配置文件
然后可以使用下面的命令生成静态网页
hexo generate 或简写成 hexo g
最后启动本地服务可以让我们在浏览器上本地预览一下网页
// 开启本地服务,可以使用 Ctrl + C 停止服务
hexo server 或简写成 hexo s
服务开启之后,就可以在浏览器上面输入下面的地址访问Hexo网页了
http:localhost:4000 或 http://127.0.0.1:4000
到此,我们的博客已经实现了在本地服务器上面访问了,但是我们还需要将我们的博客发布到远程服务器上,让更多的人访问。
4. 将Hexo博客托管到第三方平台
我们可以将我们的博客托管到GitHub、Gitlab、Coding、Gitee等平台上面,这里以GitHub为例,其他平台操作步骤大致相同。
4.1 创建一个GitHub个人仓库
首先,你先要有一个GitHub账户,可以使用邮箱注册。
注册完登录后,在github.com中看到一个New repository,点击新建仓库。
创建一个和你用户名相同的仓库,后面加.github.io,只有这样,将来要部署到GitHub page的时候,才会被识别,也就是xxx.github.io,其中xxx就是你注册GitHub的用户名。我这里是已经创建过了。
输入仓库名之后直接点击Create repository就可以了。
4.2 生成SSH并添加到GitHub
首先需要配置一下Git的user.name和user.email信息,直接使用下面的命令:
git config user.name "your github account"
git config user.email "your email"
这里的user.name输入你的GitHub用户名,user.email输入你GitHub的邮箱。这样GitHub才能知道你是不是对应它的账户。配置之后可以使用
git config user.name
git config user.email
来查看配置的信息,然后执行下面的命令创建SSH。
ssh-keygen -t rsa -C "your email"
输入命令之后会提示输入密码,不用管直接一路回车,最后会在你的计算机用户(如WIndows为C:/Users/xyq/)下面生成一个.ssh
文件夹(需要设置显示隐藏文件及文件夹),可以看到.ssh文件下面有2个文件id_rsa
和id_rsa.pub
,
ssh,简单来讲,就是一个秘钥,其中,id_rsa是你这台电脑的私人秘钥,不能给别人看的,id_rsa.pub是公共秘钥,可以随便给别人看。把这个公钥放在GitHub上,这样当你链接GitHub自己的账户时,它就会根据公钥匹配你的私钥,当能够相互匹配时,才能够顺利的通过git上传你的文件到GitHub上。
而后在GitHub的Setting中,找到SSH keys的设置选项,点击New SSH key
把你的id_rsa.pub用记事本打开,然后把里面的全部信息复制到Key里面,Title可以随便填写,然后点击Add SSH Key就可以了。
然后输入下面的命令可以查看我们的配置是否成功:
ssh -T git@github.com
4.3 将Hexo发布到GitHub
这一步,我们就可以将Hexo和GitHub关联起来,也就是将Hexo生成的文章部署到GitHub上,打开站点配置文件 _config.yml
,翻到最后,修改为如下配置:
deploy:
type: git
repo:
github: git@github.com:xiayunquan/xiayunquan.github.io.git,master
coding: your_coding_project_url,master
gitee: https://gitee.com/xiayunquan/xiayunquan.git,master
type就是仓库管理系统,我们用的是git;repo就是代码托管平台,这里需要配置你的仓库地址和git分支,我这里配置了GitHub、Coding,还有gitee平台,你想部署到哪个平台就可以在后面添加,如果你只有GitHub,就不用加后面的coding和gitee的配置,仓库地址可以使用https
地址或ssh
地址2种方式,因为我们已经配置了ssh公钥,所以这里使用ssh地址的形式,使用https地址形式在提交git代码的时候可能要输入账号和密码,不方便,还有就是国内使用https形式提交到GitHub服务器上的时候,可能存在网络代理的问题,但是我这里gitee使用的是https的形式,是因为公司的网络吧gitee部署的端口22给禁了,正常情况下2种形式都是可以的。
配置文件修改好了之后,接下来就是部署发布网站了,但首先我们要安装一下hexo-deployer-git
这个插件,
npm install hexo-deployer-git --save
最后执行下面的命令就可以把网站部署到GitHub了
// 清除生成的缓存数据
hexo clean
// 生成静态网页内容
hexo generate 或 hexo g
// 发布
hexo deploy 或 hexo d
当看到命令窗口打印INFO Deploy done:git
就说明部署成功了,过一会儿就可以在https://yourGithubName.github.io
这个网站看到你的博客了!!
4.4 绑定个人域名
现在你的个人网站的地址是 yourname.github.io,如果觉得这个网址逼格不太够,这就需要你设置个人域名了,但是需要花钱。如果不需要绑定个人域名就可以直接跳过这一步。
域名注册平台有很多,如阿里云、Godaddy、Namesilo等,不同的平台收费和续费价格不一样,注册的域名不同的后缀的价格也不一样,比如最广泛的.com就比较贵,看个人喜好咯。这里以Namesilo为例看一下如何购买域名。
首先需要注册一个Namesilo账号并登录,然后在输入框输入你想要创建的域名(不带后缀),
然后看到有很多不同后缀的域名可以选择,选一个你喜欢的域名点击Add添加到购物车,
购买成功后,需要到注册时填写的邮箱地址确认,然后需要先去进行实名认证,然后在域名控制台中,就能看到你购买的域名。
接下来需要点击右边的蓝色按钮进行DNS解析,
默认会生成几条解析记录,把后面的删除,只留下两条记录A
和CNAME
,可以点击EDIT
修改内容。也可以全部删除,自己创建新的记录。可以看到我们需要输入ip地址,这个ip地址就是前面我们博客对应的ip,在命令窗口使用下面的命令就可以得到ip了:
ping yourgithubname.github.io
有了ip地址之后,我们编辑A
记录的ip为刚刚的pin出来的ip就行了,A记录的作用就是输入个人域名后会跳转到 github博客的ip站点,然后再编辑CNAME
记录,HOSTNAME输入框中输入www
,地址框中输入个人域名yourgithubname.github.io就可以了,CNAME记录的作用就是输入个人域名后,会跳转到github博客的域yourgithubname.github.io,通过域名跳转到对应ip站点。
最后,需要把这个申请的个人域名配置到GitHub你的仓库的Settings中,
点击Save保存成功之后,过一会儿就可以使用个人域名进行访问了,当然使用yourgithubname.github.io也是可以访问博客的,只是会自动的跳转到你什么的域名。
最后需要注意的是我们购买的域名有效期是1年,如果你需要到期后自动续费,可以在刚开始购买的时候配置自动续费,默认是不自动续费,第一次购买的时候一般有折扣,自动续费的时候就没有折扣了,这个看自己的需求了。
4.5 将博客源文件提交到GitHub分支
由于hexo d
上传部署到GitHub的其实是hexo编译后的文件,是用来生成网页的,不包含源文件。也就是上传的是本地目录里自动生成的.deploy_git
里面的文件。而其他文件 ,包括我们写在source 里面的,和配置文件,主题文件,都没有上传到GitHub。如果你现在在自