网上已经有很多基于hexo搭建个人博客的文章,但是由于时间原因,很多已经不适用或者留下了很多坑。这篇文章是根据个人这几天搭建的经验,踩过无数坑,填过这些坑,总结出目前最简单最靠谱的方法。相信小白可以直接搭建一个漂亮漂亮的随时可以访问的个人博客。嘿,先展示一下我的成果吧,我个人对它还是比较满意的——我的博客。hexo介绍官网上的描述是,Hexo是一个快速、简单、强大的博客框架。你可以用Markdown(或其他语言)写文章,Hexo可以秒级生成主题精美的静态文件。简单来说,它是一个简单快速的博客框架。这可以与更知名的WordPress进行比较。后者相对要强一些,但是更适合有服务器的人。比如你可以买一个阿里云什么的。建站的那种,不过我们这次追求的是简单,不想把服务器弄乱。后面会介绍在哪里架设我们的博客,修改hexo...对于爱折腾的人来说也很不错。另外,hexo是基于当前比较火的nodeJS,可以一起学习,这也是我选择它的出发点之一。文中声明一下,本教程主要针对Windows用户。其他平台的用户在某些操作上可能会有一些不一致。可以在评论区或右下角留言交流。本教程将根据需要不断更新。Git安装下载并安装git(接下来就是安装)git主要用于版本控制。另外这里很多hexo的操作需要在gitbash中进行,否则会出现奇怪的错误。如果想了解更多git知识,可以参考以下链接:Git教程-廖雪峰网站。当然,直接跟着这个教程走完全没问题。NodeJS的安装关于NodeJS的一些介绍,可以看这篇文章——NodeJS简介。在本教程中,NodeJS主要用于管理和下载第三方包,如hexo,npm负责这些工作。1.下载并安装NodeJS。这里选择最新的稳定版v8.9.4。安装过程可以一路next,但是建议在选择安装路径的时候选择D盘,然后记住路径名。一般是D:\ProgramFiles\nodejs\安装完成后输入Win+R输入cmd打开控制台输入以下代码:node-vnpm-v如果返回版本号说明安装完成,否则需要配置环境变量(参考步骤2中的图片),然后进行测试2.NodeJS配置配置npm我们需要先配置npm全局模块的存放路径和缓存路径。最好在nodejs安装路径下建立两个文件夹“node_global”和“node_cache”。如下图:启动cmd,输入npmconfigsetprefix"D:\ProgramFiles\nodejs\node_global"npmconfigsetcache"D:\ProgramFiles\nodejs\node_cache"配置环境变量(win10可以查询"环境变量通过小娜“找到入口”),打开如下图方框内的三个记录是必须的(把路径改成自己的路径)测试是否配置完成,可以安装express进行测试,打开cmd,完成后在node_global中输入npminstallexpress-g查看目录下是否存在express目录。Hexo安装打开gitbash,为了避免出错,先在gitbash中创建一个目录存放hexo文件,例如在D盘根目录下创建一个hexo文件夹,然后cd到该目录下,开始安装$cdD:hexo/#切换到你的目录$npminstall-ghexo-cli#安装hexo脚手架$hexoinit#Hexo自动下载当前文件夹下所有搭建网站所需的文件$npminstall#安装依赖包$hexog#完整的命令是hexogenerate,生成静态文件$hexos#完整的命令是hexoserver,启动服务器进行本地预览,用浏览器访问http://localhost:4000/,就可以看到漂亮的博客了是的,这是hexo默认的主题景观,我们将使用NexT主题,后面会介绍如何配置。Github/Coding本地博客搭建完成后,接下来就是部署上线了。这里可以选择github和国内编码平台。后者会在你打开自己的网站时弹出广告。前者访问速度较慢,大家可以自行选择,然后我现在说的是两者同时使用。注册部分就不说了。如果两者都已注册,建议使用相同的名称。下面就详细说一下如何创建github的Pages服务和编码。1.GithubPage打开github主页,新建一个仓库(repository)。在这里,请注意存储库的名称。比如我的账号是alvabill,那么仓库名称应该是:alvabill.github。io。2.CodingCodingPageCoding的操作和github的差不多。创建一个名为{user_name}.coding.me的新项目。{user_name}是指您自己的用户名。例如,我的用户名是alvabill。配置SSH。以上过程完成后,上传hexo生成的静态页面。我以为一切都结束了,但还没有。这里我们需要配置SSH。首先要在本地生成公钥和私钥$ssh-keygen-trsa-C"Youremailaddress"在引号里输入你的email地址,然后回车,会提示你输入文件保存路径,然后回车确认,然后会提示输入密码,直接输入即可(看不到密码),然后确认输入一次,可以看到刚才的路径下生成了两个文件,一个一个是id_rsa,一个是id_rsa.pub,用sublime打开id_rsa.pub,全选里面的内容,复制。打开GitHub或者CodingGithub的SSH页面:setting-->SSHandGPGkeys-->NewSSHkeyCoding:publish打开D:\hexo,用sublime打开_config.yml文件,可以看到deploy:type:modifyat文件末尾(注意换成自己的链接)deploy:type:gitrepository:git@github.com:yourname/yourname.github.io.git#Publishtogithub#repository:git@git.coding.net:你的名字/你的名字。git#发布到Coding分支:master或者同时发布到两个平台:deploy:type:gitrepository:github:git@github.com:yourname/yourname.github.io.git,mastercoding:git@git.coding.net:yourname/yourname.git,masterctrl+s保存修改。打开gitbash,在当前目录下输入如下命令:$hexod#完整命令为hexodeploy,将本地文件发布到页面服务平台。如果遇到异常,可以$hexoclean&&hexog$hexod如果出现如下异常ERRORDeployernotfound:git尝试输入以下命令,然后重新执行刚才的两条命令$npminstallhexo-deployer-git--save此时如果弹出对话框,输入github/coding上的用户名和密码。这时候我们可以在浏览器中输入https://yourname.github.io或者https://youname.coding.me来打开和更改主题。D:\hexo目录下的theme文件夹是博客的主题,hexo是根据主题生成静态文件,可以在官网https://hexo.io/themes/找到主题并选择根据您的喜好。下载主题的方式如下:$cdyour-hexo-site#eg:D:\hexo$gitclone{themelink}themes/{themename}启用主题的方式也很简单。sublime打开上面提到的hexo目录_config.yml,ctrl+f,输入theme找到这个关键字,修改主题名称为下载的主题名称。theme:{themename}以我使用的下一个主题为例:下载最新版本:$cdD:hexo/$gitclonehttps://github.com/iissnan/hexo-theme-nextthemes/next修改hexo目录下的_config.ymltheme:next可以在主题官网找到--NexT域名申请经过上面的过程,我们实现了一个可以立即访问的个人博客,但我们想要的是更酷更酷的个性化域名。下面就来看看如何在我们的github/CodingPage上申请一个免费域名并进行配置,以使用个人域名访问自己的博客。1.免费域名这里推荐一个网站Freenom,点击注册,注册后按照下面的步骤进入如下页面,然后在输入框输入自己喜欢的名字就可以找到域名了。既然是个人博客,当然要找自己的昵称比如我的昵称,搜索到免费域名后,点击加入购物车~最后别忘了拖到最后哦点击确认购买。这里可以选择免费一年,过期前一周会发邮件提醒你续费,续费也是免费的,就是可以一直免费使用。点继续确认然后填一堆信息就搞定了。回到初始界面,查看自己的域名,可以看到刚才购买的域名已经在列表中了。2、使用第三方DNS解析工具。虽然freenom本身可以进行DNS解析,但毕竟不适合国内的朋友。所以我们使用国内的DNSPOD、CloudXNS等第三方DNS工具。下面介绍如何使用CloudXNS管理。一如既往,先注册。好像这里需要验证身份证,挺麻烦的。但是为了我们的域名能够被正常使用,我们只能选择原谅他。进入控制台-->我的域名,点击添加一个域名,比如你刚刚得到的alvabill.ga,然后会弹出这样的提示,意思就是你要从freenom那里接管这个域名.好吧,让我们先记住蓝色的部分。彩字lv3ns1.ffdns.netlv3ns2.ffdns.netlv3ns3.ffdns.netlv3ns4.ffdns.net在freenom中打开刚才的界面,点击域名对应的manageDemain按钮进入域名管理界面,进入NS服务器管理界面选择Usecustomnameservers(enterbelow),然后复制粘贴刚刚记录的四个字符串,点击changenameservers完成,返回CloudXNS,等待半分钟刷新,可以点击立即打开,或者点击配置后打开。域名绑定页面服务1.为我的域名添加如下记录,记录值分别为codingpage和githubpage的url。你只需要修改这两个值,其他配置和我的一样。如果你只使用一个页面服务,那么只需要两条对应的记录,然后记得将线路类型设置为全网默认。2、配置Page服务GitHub:进入{你的名字}.github.io仓库-->设置,往下找到如下界面,红框内填入你的域名到D:\hexo\source目录下(也就是你installhexo(sourse目录下)新建一个文件CNAME,用Sublime打开,填写你的域名,比如alvabill.ml,保存,然后进入D:\hexo目录,使用sublime打开_config.yml,ctrl+f找到skip_render,然后改成skip_render:-README.md-CNAME这个命令可以跳过CNAME和README.md文件,防止每次hexoRe-render把它们清空。这里的README.md是可选的,最好有,因为每个github项目都需要一个readme文件,添加的位置和CNAME一样。编码:进入项目-->pages服务,填写域名,绑定~最后重新整理项目:$hexoclean&&hexog&&hexod-g$hexog&&hexos#如果需要本地预览,执行这个浏览器输入你的域名回车,就可以成功访问你的个人博客了!综上,我花了点时间完成了,还是很有成就感的。很遗憾没有把搭建这样一个网站的过程记录下来。教程写完之后,总觉得少了点什么。当时遇到的问题应该挺多的,重新写博客的时候总不能再走一遍从头开始创建东西的过程。难免会有很多遗漏。欢迎在评论区讨论或者私戳我。也欢迎提问,我会及时改正。下一篇文章将介绍如何优化和个性化Next.mist主题。如果你也喜欢这个主题,可以继续关注我的更新哦~~
