vagrant打造自己的开发环境~~我也来一发

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介:

缘由:

    在网上看到斌哥,爽神都写了关于vagrant的博客,都在说很强大,所以很好奇这玩意怎么个强大,然后也就自己来一发玩玩看看。


真实缘由:

      说实话是电脑配置太低,win7系统,3G内存,08年的品牌机,所以扛不住Vmware的,以前也是一直在用Vmware,但是面对面前的这台电脑,也只能呵呵了~

期间曾经用过一段Ubuntu,由于工作原因,需要实时QQ进行交流,所以又呵呵了~

至于大家说什么wine+QQ,什么个人开发的Ubuntu上可运行的QQ,我又只能呵呵了~


个人感受:

      感觉想当年玩过的H3C、Cisco的模拟器一样,Dos窗口下来完成一切,实在是有种黑的不能再黑的赶脚~

      vagrant的打包功能类似Vmware的克隆,打包之后可以拿给其他人去用,统一的平台,统一的软件结构,作为开发测试的一个公共平台实在是极好的~

      重新封包的box拿到其它机器上去运行,依旧会存在网卡重新生成的情况,需要手动清除(仅针对使用 private_network的模式

      唯一的不同点就是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


亮点来了,请仔细看额:

1、安装VirtualBox

    (略)

2、安装vagrant

    

3、下载box

    

4、安装xshell


5、正式开始进行操作~

  • 新建一个文件夹作为工作目录



    wKiom1OSioTR5URAAACu7S2Z7UY792.jpg

  • 打开一个dos窗口,初始化该目录,然后导入box

    Note: 导入box的默认指令

    vagrant box add name uri

   但是由于直接制定uri的话,就相当于在线下载了,那速度是相当的慢啊,所以这里我就事先下载好   了,直接导入即可

1
2
vagrant init
vagrant box add centos6. 3  j:\迅雷下载\CentOS - 6.3 - x86_64 - minimal.box

   wKioL1OSij_iG-P8AAJYBBp2EYQ738.jpg


    修改后的文档:启用了四个虚拟机,内存均为256M

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# -*- 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)

    wKiom1OSirrjv-atAAMGtNXhIRM901.jpg

  • 使用xshell链接测试

    连接账号:vagrant

    连接密码:vagrant

    su到root下密码:vagrant

    wKiom1OSjRqik3AYABNM92GMGRI148.gif

  • 常用命令

1
2
3
4
5
6
vagrant box  list              # 列出当前导入的box
vagrant destory               # ***machine
vagrant box remove [name]     # 移除box
vagrant up [name]             # 启动machine                 
vagrant halt [name]           # 关闭machine 
vagrant status [name]         # 查看machine的状态

   wKiom1OSkgvigxC3AAOL1p0Y_aA953.jpg


  • 打包

    关闭当前机器,然后打包(我这里为haproxy这台机器安装了epel源)

   wKioL1OSk9aQOWCQAAFUqYl-aSc429.jpg

   wKioL1OSlV_i0lmnAALGREpaV-E798.jpg


写到这里好像要打完收工了,还有啥~

额,还有好多知识没有说

vagrant的几种网卡类型

使用过程中碰到的问题,后续在更新吧~


使用感受:

    搭建了一个haproxy + tomcat的环境,三台机器全开,占用系统资源也不是很大,跑起来绝对没问题,也挺流畅~




吐槽大会:这玩意用起来也就那么回事,是蛮方便的,但是对于程序猿来说也是一个头大的事情,而且Dos窗口那么不和谐~ 等到图形界面和VirtualBox完全整合了的话,估计就是一键点击下的事了,不过到那个时候又不知道会有什么新的工具出来,总的来说,能用,有亮点,但是亮点不是完全超越性的~



本文转自lovelace521 51CTO博客,原文链接:http://blog.51cto.com/lovelace/1423343,如需转载请自行联系原作者

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
7月前
|
监控 Linux Docker
免费的5款Docker 容器 GUI 管理工具!后悔没早点发现!
免费的5款Docker 容器 GUI 管理工具!后悔没早点发现!
982 0
|
7月前
|
Kubernetes Shell API
【附安装教程】高手都不手动敲 kubectl 命令了,学会这几招,你也可以
【附安装教程】高手都不手动敲 kubectl 命令了,学会这几招,你也可以
【附安装教程】高手都不手动敲 kubectl 命令了,学会这几招,你也可以
|
9月前
|
Ubuntu Linux
vagrant快速拉起一个带GUI的Ubuntu系统
vagrant快速拉起一个带GUI的Ubuntu系统
74 0
|
9月前
|
KVM 虚拟化
virtualBox 踩坑记
手残直接从文件系统层面删除了一个虚拟机,整个虚拟化环境都不工作了。vagrant up无法重新拉起虚拟机。
91 0
|
10月前
|
程序员 网络安全 Ruby
利用vagrant快速搭建rails开发环境
利用vagrant快速搭建rails开发环境
58 0
|
11月前
Vagrant 解决安装插件速度缓慢问题
Vagrant 常见问题处理。
226 0
|
12月前
|
Kubernetes Ubuntu JavaScript
再见Jenkins!这款自动化部署工具更强大,还贼带劲!
再见Jenkins!这款自动化部署工具更强大,还贼带劲!
|
jenkins Java 应用服务中间件
jenkins手把手教你从入门到放弃02-jenkins在Windows系统安装与配置(详解)
上一篇对jenkins有了大致了解之后,那么我们就开始来安装一下jenkins。
234 0
jenkins手把手教你从入门到放弃02-jenkins在Windows系统安装与配置(详解)
|
JavaScript 前端开发 程序员
前端:nodejs版本管理神器nvm软件使用笔记
使用vue框架开发的朋友可能会遇到首次运行公司项目环境的时候,会出现使用npm install命令安装依赖包的时候出现各种各样的问题,其中很重要的一个错误原因就是因为你的nodejs版本和当时搭建环境的版本不一致造成的。今天就来给大家推荐nvm这款nodejs版本管理工具,可以解决你在实际运行vue项目中的一些问题,一起来看看吧!
前端:nodejs版本管理神器nvm软件使用笔记
|
Java jenkins 持续交付
项目部署(jenkins 需要软件安装)| 学习笔记
快速学习 项目部署(jenkins 需要软件安装)
105 0
项目部署(jenkins 需要软件安装)| 学习笔记

热门文章

最新文章