标签: hexo 原创
由于部分段落的排版无法实现,请查看原文。
地址:http://blog.lujingtao.com/2017/11/19/hexo-deploy/
什么是部署?
通过上一篇文章 玩转hexo - 2 - 起步 ,我们已经在本地生成了一个静态博客了,但是别人看不见呀。
于是就有了部署:通过一定的手段将整个博客部署到某个服务器上,让大家,不,是让全世界都能看到!
服务器选择
为什么不选云服务器?
一提到服务器,一些耳熟能详的名字总会浮现在脑海,但对于像我这样的穷B而言,非要在类似阿里云、百度云之流贵的一批的服务器里选择一个的话。。。对不起,我选择死亡。
其实主要是目前我们所用的方式搭建出来的是一个静态博客,用不到云服务器所配备的那些高端功能,我们刚需只有一个:show it!
选择一个靠谱的免费服务器
目前我所知道的,符合我们刚需的免费服务器有三个:github, gitee, coding。看到这里你也许会恍然大悟,原来在最开始要求安装的git工具是在这里用的。没错,上面这三个家伙其实就是比较著名的git仓库而已,所以git工具就是我们和它们的交流工具。而他们都有个共同点:具备pages功能,也就是我们要的展示功能了。所以我姑且将之称为服务器。
下面来比对一下三个服务器的优缺点:
- github: 名气最大,开源项目数最多。但服务器在国外,部署速度和响应速度不稳定
- gitee: 又名码云,很多企业都在用它。但是部署速度一样很感人,而且对于hexo博客而言,经常会粗现一些不可描述的错误
- coding: 名气不如前两个,但是服务器在国内,部署和响应速度非常快。也不知道算不算缺点的只有一个:每次打开你的博客都会出现一个3秒的公益广告页面,之后会跳转到你的博客。
从上面三条的篇幅来看,我要安利哪个已经显而易见了。对我本人而言,coding的这个确实算一个缺点,因为我无法容忍我自己的页面有入侵,有我控制不了的东西。然而,哼哼,我也已经解决了啦啦啦(本人自制的主题中专门写了一个接口,只需要把false
改成true
。只要你敢用我的主题,我就敢让你这么轻松的摆脱烦恼~),解决方法后面详细讲。
这并不是给coding.net打广告,只是我就不信你看到我这极速的博客不心动?
部署流程
考虑到以后可能使用多台机器来写文章(比如在家和在办公室),经过本人多方考察于实践,已将最佳方式写入了本部署流程中。所以导致本流程可能于其他教程不同。
如果你可以保证永远不挪窝,永远在一台机器上写文章。请跳过以下流程,自行百度。
创建新仓库
二话不说,先打开coding.net,右上角注册一个账号,注册过程略。
做如下操作:








以上就已经完成了仓库的基本配置,以后基本就不用在配置什么了。
通过git完成部署
在终端(命令行 / bash)中,进入到本地的blog目录下,执行下面的命令安装一个hexo的部署工具。
npm install hexo-deployer-git --save
安装完成之后,配置部署路径。打开站点配置文件blog/_config.yml
,修改deploy的配置。
# 原代码
deploy:
type:
# 修改为
deploy:
- type: git
repo: https://git.coding.net/codefine/codefine.coding.me.git # 后面为:你的账号/刚才创建的�仓库名.git
branch: master
- type: git
repo: https://git.coding.net/codefine/codefine.coding.me.git # 后面为:你的账号/刚才创建的�仓库名.git
branch: src
extend_dirs: /
ignore_hidden: false
ignore_pattern:
public: .
保存文件。还是在blog/
目录下,用hexo命令完成最终部署:
hexo clean
hexo generate
hexo deploy
# 2 3可以简写为 hexo g -d
打开浏览器,输入url仓库名.coding.me
,恭喜,可以看到自己略显牛逼哄哄的在线博客了。
多台机器写博客
思路及原理
本机当前状况:
- 博客所有文件以及配置都在本机上
- 已经把本机上的所有文件以及配置都部署到了在线仓库
其他机器状况:
- 没有任何博客的文件以及配置
通过对比,我们可以看出,多台机器写博客的本质就是:
- 下载在线仓库中的所有文件以及配置
- 修改或者添加文章,或者修改配置(包括后面要讲到的主题修改)
- 部署。也就是更新在线仓库,便于下次换机器时能得到最新的文件及配置
实践
本着严谨的原则,我们可以在本机上模拟这个过程。那么,我们来无情的删除刚才辛辛苦苦的创建并修改的本机所有博客文件,也就是删除blog
整个目录,这样你满意了吧?
首先用终端进入到一个合适的目录,用于存放咱们的博客文件。然后我们找到仓库的地址,启用复制粘贴大法。

# 下面的仓库名和目录名都替换成自己的
git clone https://git.coding.net/codefine/codefine.coding.me.git # 下载刚才复制的仓库地址(可能会让你输入coding.net的用户名和密码)
cd codefine.coding.me # 进入博客目录
npm install # 安装依赖
hexo clean # 清除缓存文件(非必须)
hexo g # ��hexo generate的简写,生成静态文件
hexo s # hexo server的简写,启动本机服务,预览博客
ok,我们之前的博客又回来,请开始你的表演!
特别注意:
下载仓库文件和直接在本地从零开始创建博客有所不同。
下载的文件中会默认携带一个.git
的隐藏目录,如果直接部署,则会报错。
所以我们要在博客目录中用rm -rf .git
命令来删除这个文件(或者你要是有本事能在资源管理器中找到手动删除也可以)。
删除之后就可以顺利部署了。
下次换机器之后又能开心的下载最新的文件来写博客了。
最后的最后,别写了一大堆文章,忘记部署了,那下次换机器以后就悲剧了。
hexo g -d # hexo generate & hexo deploy的简写
网友评论