使用Vagrant配置一个稳定的Hexo书写环境

25 3月

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载自夜明的孤行灯

本文链接地址: https://www.huangyunkun.com/2014/03/25/vagrant-hexo-writing/

Vagrant是一个工具,它可以让你轻松的配置虚拟机。利用它你可以快速的搭建环境,并共享环境。

它本质上是使用了Virtual Box等虚拟机作为支撑,在此之上对配置分享等做简化。

很早就知道了Vagrant的存在,但是一直不知道它的用处何在,直到我最近离开了我的笔记本一小段时间才真正享受了它的遍历。

背景

我的笔记本安装的是ubuntu,写博客用的hexo。在ubuntu下什么都很方便,特别是hexo的环境,ssh密钥等等都是配置好的。

其实用ubuntu的原因真的很单纯,因为笔记本性能太差了。跑Window那简直是一卡一卡的,用ubuntu就可以有个很流畅的速度。

但是最近我回家没有带笔记本,又想写写东西,就觉得各种不适应了。

家里的系统是Windows的,各种纠结以后装上Virtual Box开始配置虚拟机,在下载镜像的时候放弃了,因为觉得麻烦。

所以视线有回到Vagrant了。

准备工作

Vagrant有各个平台的安装包,Windows下100+M,加上Virtaul Box的100+M,总大小不大,我家小水管也可以接受。从Vagrant Cloud拖一个Ubuntu 12.04的Box下来,300M。

然后就是安装并重启。

不要忘记配置一下环境变量。

创建并启动

根据官方的说明,使用vagrant init hashicorp/precise32初始化一下,然后使用vagrant up启动。

这里会自动下载对应的Box,但是速度很慢。

拿出我们刚才下载好的Box,我用迅雷下的,速度完全不能比呀。

随便放在哪里,然后执行命令

vagrant box add precise32 file:///C:/Users/sdx/.vagrant.d/boxes/precise32.box

再次声明,文件位置随意。我放在那个目录是因为我以为它可以自动识别。

重新初始化

vagrant init precise32

现在可以启动了。

因为默认是没有GUI的,所以vagrant ssh连接。

它提示我们使用其他工具连接,推荐putty,不过那个private key我用不起,只用用户名和密码登录,都是vagrant。

去Virtual Box看看,可以看到一个虚拟机正在运行。

配置

接下来就是简单的事情了,安装nodejs,安装hexo,配置ssh密钥等等。

推荐使用npm的国内镜像

sudo apt-get install -y python-software-properties
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs

npm configset registry http://registry.cnpmjs.org
sudo npm install hexo -g

再新建一个博客测试一下

hexo init blog
cd blog
hexo s

访问之,出错了…

因为这里的4000端口是虚拟机的,倒过去看看ssh的端口,是2222。
在启动的时候有一句输出是

Forwarding ports...
22 ->2222 <adapter1>

意思是将虚拟机的22端口映射到主机的2222端口。

所以要配置一下虚拟机的4000端口映射。

在VagrantFile中添加

config.vm.network"forwarded_port", guest:4000, host:80

vagrant reload重新载入配置,这样访问主机80端口就行了。

还有一个问题是,如果不喜欢在命令行写东西,也可以将文件共享给主机,直接在主机编辑,这需要配置synced_folder

在配置文件添加

config.vm.synced_folder"D:/hexo-box/blog","/home/vagrant/blog"

这样blog目录的内容就共享到主机的D盘下了。

最后使用vagrant package打包出配置好的box就行了。

关机一定请一定使用vagrant halt

参考资料

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载自夜明的孤行灯

本文链接地址: https://www.huangyunkun.com/2014/03/25/vagrant-hexo-writing/

发表评论

您的电子邮箱地址不会被公开。