vagrant使用小结
好几个月前就安装了laravel,但是一直没有真正用起来,因为没有配置的vagrant和一个普通的虚拟机是没有什么区别的,如果打开virtual box,会发现其实里面就是跑着一个虚拟机而已。
vagrant的强大在于是一个镜像,配置完以后镜像可以放到任何地方去,真正做到了一劳永逸了。
总结一下自己使用vagrant的一点笔记,以免以后忘记还得再去翻官方文档。
vagrant的官方网站:http://www.vagrantup.com/ 现在又改版了,挺漂亮的。
vagrant的一些镜像:http://www.vagrantbox.es/ 各种linux都有。
安装就不废话了,装上以后,在windows下需要配一下环境变量,把vagrant的bin目录放到环境变量里。
然后按照官方说的,执行这三部,然后一个虚拟机就起来了。
$ vagrant box add base http://files.vagrantup.com/lucid32.box 增加一个box,lucid32就是个ubuntu的virtualbox镜像 $ vagrant init #初始化 $ vagrant up #这个是真正的启动
虚拟机启动起来以后,就可以连接ssh了,虚拟机的22端口默认映射到了本机的2222端口,默认的用户名和密码都是vagrant,用ssh连上以后,初始化阶段基本就完成了。
记一下vagrant的一些常用命令。
vagrant up #开机
vagrant halt #关机
vagrant reload #重新启动,主要用于重新载入配置文件
关于vagrant的配置文件vagrantfile,vagrantfile在vagrant目录里面。配置基础开发环境主要是两个方面,一个是config.vm.forward_port选项,主要用于端口映射,初始的映射了22到本机的2222端口,我们可以把虚拟机的80端口映射到本机的4470上,然后再虚拟机里配好环境(例如lnmp)以后访问127.0.0.1:4470就是访问虚拟机的80了,非常方便。
config.vm.forward_port 8080, 4470 config.vm.forward_port 80, 4471 config.vm.forward_port 3306, 3307
还有一个就是配置一下共享目录,做到本机开发,虚拟机测试。
# Share an additional folder to the guest VM. The first argument is # an identifier, the second is the path on the guest to mount the # folder, and the third is the path on the host to the actual folder. config.vm.share_folder "v-data", "/data", "data" #把这一行的注释去掉,如上所说,第一个是个标志,第二个是你虚拟机里挂载的目录,第三个就是物理机的目录了,这个目录是777的,可以随意修改删除,所有操作在虚拟机和本机都是同步的。