原因:php
在网上看到斌哥,爽神都写了关于vagrant的博客,都在说很强大,因此很好奇这玩意怎么个强大,而后也就本身来一发玩玩看看。html
真实原因:python
说实话是电脑配置过低,win7系统,3G内存,08年的品牌机,因此扛不住Vmware的,之前也是一直在用Vmware,可是面对面前的这台电脑,也只能呵呵了~
linux
期间曾经用过一段Ubuntu,因为工做缘由,须要实时QQ进行交流,因此又呵呵了~redis
至于你们说什么wine+QQ,什么我的开发的Ubuntu上可运行的QQ,我又只能呵呵了~shell
我的感觉:centos
感受想当年玩过的H3C、Cisco的模拟器同样,Dos窗口下来完成一切,实在是有种黑的不能再黑的赶脚~
tomcat
vagrant的打包功能相似Vmware的克隆,打包以后能够拿给其余人去用,统一的平台,统一的软件结构,做为开发测试的一个公共平台实在是极好的~
ruby
从新封包的box拿到其它机器上去运行,依旧会存在网卡从新生成的状况,须要手动清除(仅针对使用 private_network的模式)antd
惟一的不一样点就是Vmware的克隆出来一个虚机很大很大,而vagrant从新封包依旧是小巧玲珑~
关于vagrant:
Vagrant是一个基于Ruby的工具,用于建立和部署虚拟化开发环境。它 使用Oracle的开源VirtualBox虚拟化系统,使用 Chef建立自动化虚拟环境。
详细操做步骤:
工具及环境介绍:
工具及环境 | 版本 | 下载地址 |
宿主机环境 | win7 x64 旗舰版 | http://msdn.itellyou.cn/ |
VirtualBox | VirtualBox-4.3.12-93733-Win | https://www.virtualbox.org/ |
vagrant | vagrant_1.6.3 | http://www.vagrantup.com/ |
box | CentOS-6.3-x86_64-minimal.box | http://www.vagrantup.com/ |
xshell | xshell_4.0.0131.1397032097 | http://www.netsarang.com/download/main.html |
亮点来了,请仔细看额:
一、安装VirtualBox
(略)
二、安装vagrant
三、下载box
四、安装xshell
五、正式开始进行操做~
新建一个文件夹做为工做目录
打开一个dos窗口,初始化该目录,而后导入box
Note: 导入box的默认指令
vagrant box add name uri
可是因为直接制定uri的话,就至关于在线下载了,那速度是至关的慢啊,因此这里我就事先下载好 了,直接导入便可
vagrant init vagrant box add centos6.3 j:\迅雷下载\CentOS-6.3-x86_64-minimal.box
修改Vagrantfile配置文件,该文件管控着虚拟机的运行
我这里比较懒,直接网上找了一个相关的配置文件,修改了下,就直接用了
修改后的文档:启用了四个虚拟机,内存均为256M
# -*- mode: ruby -*- # vi: set ft=ruby : app_servers = { :http => '192.168.58.20', :php => '192.168.58.21' } Vagrant.configure("2") do |config| config.vm.box = "centos6.3" config.vm.define :haproxy do |haproxy_config| haproxy_config.vm.network :private_network, ip: "192.168.58.10" haproxy_config.vm.network :forwarded_port, guest: 80, host: 8080 config.vm.provider :virtualbox do |vb| vb.name = "haproxy" vb.customize ["modifyvm", :id, "--memory", "256"] end end app_servers.each do |app_server_name, app_server_ip| config.vm.define app_server_name do |app_config| app_config.vm.hostname = "#{app_server_name.to_s}.vagrant.internal" app_config.vm.network :private_network, ip: app_server_ip # app_config.vm.synced_folder "../app", "/opt/app" app_config.vm.provider "virtualbox" do |vb| vb.name = app_server_name.to_s vb.customize ["modifyvm", :id, "--memory", "256"] end end end config.vm.define :redis do |redis_config| redis_config.vm.hostname = "redis.vagrant.internal" redis_config.vm.network :private_network, ip: "192.168.58.30" redis_config.vm.provider "virtualbox" do |vb| vb.name = "redis" vb.customize ["modifyvm", :id, "--cpuexecutioncap", "50"] vb.customize ["modifyvm", :id, "--memory", "256"] end end end
开启虚拟机,这里你能够彻底开启,也能够只开启一台
PS: 第一次开启的时候,建议一台一台的开启,这样的话方便记录ssh链接端口号(我的偏好使用xshell)
使用xshell连接测试
链接帐号:vagrant
链接密码:vagrant
su到root下密码:vagrant
经常使用命令
vagrant box list # 列出当前导入的box vagrant destory # ***machine vagrant box remove [name] # 移除box vagrant up [name] # 启动machine vagrant halt [name] # 关闭machine vagrant status [name] # 查看machine的状态
打包
关闭当前机器,而后打包(我这里为haproxy这台机器安装了epel源)
写到这里好像要打完收工了,还有啥~
额,还有好多知识没有说
vagrant的几种网卡类型
使用过程当中碰到的问题,后续在更新吧~
使用感觉:
搭建了一个haproxy + tomcat的环境,三台机器全开,占用系统资源也不是很大,跑起来绝对没问题,也挺流畅~
参考文档:
斌哥的网站:http://opslinux.com/shi-yong-vagrantda-zao-ni-de-xu-ni-huan-jing.html
爽神的网站:http://www.iamle.com/archives/1684.html
Vagrantfile借用站点:http://blog.sina.com.cn/s/blog_804327560101eiyk.html
官方站点:http://docs.vagrantup.com/v2/
吐槽大会:这玩意用起来也就那么回事,是蛮方便的,可是对于程序猿来讲也是一个头大的事情,并且Dos窗口那么不和谐~ 等到图形界面和VirtualBox彻底整合了的话,估计就是一键点击下的事了,不过到那个时候又不知道会有什么新的工具出来,总的来讲,能用,有亮点,可是亮点不是彻底超越性的~