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

25 3月

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,我用迅雷下的,速度完全不能比呀。

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


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

重新初始化


现在可以启动了。

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

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

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

配置

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

推荐使用npm的国内镜像


再新建一个博客测试一下


访问之,出错了…

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


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

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

在VagrantFile中添加


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

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

在配置文件添加


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

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

关机一定请一定使用vagrant halt

参考资料

发表评论

电子邮件地址不会被公开。