俗话说“金窝银窝不如自己的狗窝”。一个热爱生活的人来说,总想把自己的生活点滴记录下来,那么通过博客可以有效地把自己地文章组织起来,而且还可以与别人一起交流分享。更进一步,博客网站使用自己自己域名会让自己更有个性和酷炫。
所以我就想到搭建一个属于自己地博客网站,倔强地开始了我艰难的网站搭建地过程。
说明:
1、一定不要买服务器,hexo+github搭建过程是不用服务器的。我一开始不清楚域名和服务器,结果花了16大洋买了两个月地腾讯云服务器,心痛嘤嘤嘤。
2、Hexo是一款基于Node.js的静态博客框架。Github是一个开源私有软件项目托管平台。我们要做的就是:在本地建立Hexo文件包(这个时候运行hexo时会有一个本地域名但是不能被别人访问)->将文件包托管到github平台上(这个时候会有一个帮你配置的网站名)->申请购买自己的域名然后在github上把域名关联到自己的域名(这个时候就可以通过自己的域名访问你的博客网站了)。
3、总结一下搭建的步骤就是:hexo配置、github关联、域名申请。
既然hexo是基于Node.js的,我们先从官网下载Node.js,注意安装时包含环境变量和npm的安装,安装之后检查Node.js是否安装,打开命令行终端(windows键+R后输入cmd)输入npm -v查看版本号则安装成功。
到现在Hexo的环境搭建好了,下面正式安装Hexo。
Hexo是我们博客网站的框架,包含着这个网站的各种信息。所以我们在电脑中新建文件夹(如F:\WangBlog)使用命令行把路径导入到这个文件夹(使用cd指令)。
注意:一定要在WangBlog文件包中操作,这很容易理解。
命令行终端路径在F:\WangBlog后我们使用npm安装hexo,在终端输入:
npm install -g hexo-cli
耐心等待完成后初始化博客,输入:
hexo init blog
然后检测网站雏形,输入:(这些命令以后会说明)
hexo new test_my_site
hexo g
hexo s
根据命令行显示的网址(这里不要Ctrl+C关闭命令行显示的内容),在浏览器中输入localhost:4000可以显示网页。
现在来介绍常用的Hexo 命令
npm install hexo -g #安装Hexo
npm update hexo -g #升级
hexo init #初始化博客
命令简写
hexo n "我的博客" == hexo new "我的博客" #新建文章
hexo g == hexo generate #生成
hexo s == hexo server #启动服务预览
hexo d == hexo deploy #部署
hexo server #Hexo会监视文件变动并自动更新,无须重启服务器
hexo server -s #静态模式
hexo server -p 5000 #更改端口
hexo server -i 192.168.1.1 #自定义 IP
hexo clean #清除缓存,若是网页正常情况下可以忽略这条命令
刚刚的三个命令依次是新建一篇博客文章、生成网页、在本地预览的操作。
到现在只是在本地预览了自己的网站,你会发现在命令行根据提示Ctrl+C关闭内容后是无法访问localhost:4000的。下面进行网站的发布。
在这之前先要明白两个概念:blog根目录中的_config.yml叫站点配置文件,而根目录中的themes文件夹中的另一个_config.yml叫主题配置文件。解释也很直白,分别是配置站点和主题的。
到现在一方面Hexo雏形已经配置好了,而要发布就要与github关联,所以我们另一方面要把github配置好。
搜索github进入官网,sign up(注册),通过自己的邮箱申请github账号,例如我的用户名是WangYangfan,邮箱[email protected]。
进入自己主页之后进入new repository,repository的name是WangYangfan(用户名).github.io
接下来安装git,可以搜索git然后从官网上下载。我们的网站在本地搭建好之后需要通过git来同步到github上。既然要同步到github上,就要把git和github绑定到一起。
检测git是否安装成功:windows键+R,输入cmd打开命令行终端,输入git version查看版本号则安装成功。否则请百度解决方法。
说明:git是封装过的cmd,git中包含了指向bash的环境变量,所以cmd中的大部分指令git中还是可以用的。Git比cmd更加轻量和方便。
绑定的步骤,先打开git bash输入下列命令设置user.name和user.email信息:
git config --global user.name "你的GitHub用户名"
git config --global user.email "你的GitHub注册邮箱"
然后生成ssh密钥:
ssh-keygen -t rsa -C "你的GitHub注册邮箱"
然后三个回车默认不用设置密码。
在显示的路径中找到.ssh文件夹中的id_rsa.pub密钥,用notepad++打开(或者记事本,我没用过记事本)后把内容全部复制。
接着打开你的github的settings进入SSH and GPG keys,new一个SSH key,title随便起一个(如:Blog),把复制的密钥的内容粘贴到key中,点击add SSH key。
在git bash检测github设置是否成功,输入ssh git @github.com
如上则说明成功。这里之所以设置GitHub密钥原因是,通过非对称加密的公钥与私钥来完成加密,公钥放置在GitHub上,私钥放置在自己的电脑里。GitHub要求每次推送代码都是合法用户,所以每次推送都需要输入账号密码验证推送用户是否是合法用户,为了省去每次输入密码的步骤,采用了ssh,当你推送的时候,git就会匹配你的私钥跟GitHub上面的公钥是否是配对的,若是匹配就认为你是合法用户,则允许推送。这样可以保证每次的推送都是正确合法的。
到现在,我们需要进行网站的发布,把本地的Hexo文件托管到github上。
打开站点配置文件_config.yml,在结尾修改:
deploy:
type: git
repo: 这里填入你之前在GitHub上创建仓库的完整路径,记得加上 .git(如https://github.com/WangYangfan/WangYangfan.github.io.git)
branch: master
记得保存。
其实就是给hexo d 这个命令做相应的配置,让hexo知道你要把blog部署在哪个位置,很显然,我们部署在我们GitHub的仓库里。最后安装Git部署插件,输入命令:
hexo clean
hexo g
hexo d
其实第三条的hexo d就是部署网站命令,d是deploy的缩写。完成后,打开浏览器,在地址栏输入你的放置个人网站的仓库路径,即 wangyangfan.github.io
这个时候你的博客已经上线,可以在网络上被访问了。
如果你觉得github.io的名字太丑,像更有个性化,那么就需要申请域名然后绑定新域名。
在腾讯云(或者阿里云)注册后申请个性化域名,然后对域名进行解析。
我的解析式www和@和*,记录类型都是CNAME,记录值都是WangYangfan.github.io.(最后有一个.)。
都保存解析好之后,进入登陆github,进入仓库WangYangfan.github.io,点击settings,设置Custom domain输入你的个性化域名(如wangyangfan.xyz),save保存。
然后进入blog根目录的source文件夹创建记事本文件内容输入域名wangyangfan.xyz,注意保存记事本名称为“CNAME”(不含.txt后缀)。
到现在为止,你的本地Hexo文件已经与github仓库关联在一起了。接下来只需要生成一下网页并部署在域名上。
也就是在WangBlog路径下启动命令行终端cmd,输入:
hexo clean
hexo g
hexo d
可以看到,这个时候你的博客网站已经可以通过个性化域名进行访问了。
但是网站很是简陋(好丑好丑~)。
那么接下来就是丰富你的博客网站喽。
我的博客的建立过程是参考下面的网址,非常感谢这两篇博客的作者:
https://zhuanlan.zhihu.com/p/26625249
https://blog.csdn.net/Com_ma/article/details/76039859