返回首页
当前位置: 主页 > 精通Office > Ubuntu教程 >

如何使用Vagrant部署开发环境实施教程

时间:2017-05-26 10:51来源:知行网www.zhixing123.cn 编辑:麦田守望者

vagrant


Vagrant作为一款虚拟机环境统一配置管理工具,后端可以是VirtualBox,VMWare,AWS。使用Vagrant管理VirtualBox是运行在命令行下面的,而不需要打开界面。当运行环境配置完了可以方便的部署在其他机器上或给予其他开发人员,实现配置一次,到处运行的功能。比如:我们可以通过 Vagrant 封装一个 Linux 的开发环境,打包好box后,可以分发给团队成员,成员可以在自己喜欢的桌面系统(Mac/Windows/Linux)上开发程序。此时由于开发环境一致,将不会产生如下一些问题:
1、同一套代码,在不同的开发环境下运行结果不一致。
2、php的一些扩展在Linux下面才能用,例如pcntl,但是开发环境却是Windows。

一、安装VirtualBox,下载地址:https://www.virtualbox.org/wiki/Downloads。

二、安装Vagrant,下载地址:http://www.vagrantup.com/downloads.html。
注:安装完成后,将Vagrant的bin目录添加到系统的环境变量Path里面。

三、下载虚拟机镜像,地址:http://www.vagrantbox.es/。这里提供了超全的linux系统预制box包。建议先下载到本地硬盘在加载进来,或者使用本地已有的box。

四、这时候应该先为这个虚拟机如(CentOS 6.6 x64)建一个工作目录,以便初始化和管理这个虚拟机主机。如果有多个虚拟机的话,就分别建立不同的目录来初始化。比如:E:\project\vagrant\dev。然后就在这个目录下面初始化这个镜像。

注:启动和连接虚拟机等命令都需要切换到该虚拟机所在开发目录下。

五、增加box
E:\project\vagrant\dev>vagrant box add Centos64_php54_nginx21 “file:///E:\box\Centos64_php54_nginx21.box”   # 如果加载失败的话直接:E:\box\Centos64_php54_nginx21.box,似乎也可以。

注:

1、add后面跟的是这个虚拟机的名称,也可以用base自动识别。
2、Vagrant工作目录最好和box目录在同一盘下。

六:初始化开发环境

vagrant init Centos64_php54_nginx21   #初始化,第一次需要
vagrant up #启动环境

七:配置Vagrant

用ssh登录,打开对应目录下面的配置文件Vagrantfile进行相应配置。
注:$ cd /vagrant  # 切换到开发目录,也就是宿主机上的 `~/project/vagrant/dev

1、网络配置
Vagrant的网络有三种模式,默认为端口映射方式。

1)端口映射方式,映射虚拟机中端口到宿主机
config.vm.network :forwarded_port, guest: 80, host: 8080
guest: 80 表示虚拟机中的80端口, host: 8080 表示映射到宿主机的8080端口。

2)私有网络
config.vm.network :private_network, ip: “192.168.33.10”
192.168.33.10 表示虚拟机的IP,多台虚拟机的话需要互相访问的话,设置在相同网段即可

3)桥接
config.vm.network :public_network
这样一个广播域的dhcp就可以分配ip了。

2、目录映射

 config.vm.synced_folder “E:/wamp/www”, “/usr/share/nginx/html/” #将前者映射到后者
config.vm.synced_folder “E:/km/htweb/trunk”, “/usr/share/nginx/trunk/”  #将前者映射到后者

初始化并启动:vagrant up
然后可以通过ssh连接上去管理了,默认用户和密码都是vagrant。

八:常用命令

1、打包导出:
vagrant package –output NAME –vagrantfile FILE
可选参数:
–output NAME : (可选)设置通过NAME来指定输出的文件名
–vagrantfile FILE:(可选)可以将Vagrantfile直接封进box中
例如:
    vagrant package –output sean-vg-ct65_ts.box
==> default: Attempting graceful shutdown of VM…
==> default: Clearing any previously set forwarded ports…
==> default: Exporting VM…
==> default: Compressing package to: /Users/sean/vagrant/sean-vg-ct65_ts.box

注: 当前目录下若存在同名package.box则会export失败。打包的来源并不是.vagrant.d而是VirtualBox虚拟机本身,可以通过 –base vm-name来指定所导出的虚拟机名称,–vagrantfile file-pathname可以将Vagrantfile直接封进box中。以后就可以把这个 .box 文件分发给开发人员使用了。

2、其他命令:
vagrant init  # 初始化
vagrant up  # 启动虚拟机
vagrant halt  # 关闭虚拟机
vagrant reload  # 重启虚拟机
vagrant ssh  # SSH 至虚拟机
vagrant status  # 查看虚拟机运行状态
vagrant destroy  # 销毁当前虚拟机
vagrant package  # 导出当前虚拟机
vagrant box list  # 显示box列表

注:如果你希望去掉某个box,则可以使用vagrant box remove boxName;
    如果希望完全删除某个已经初始化的vagrant,则使用vagrant destroy;

------分隔线----------------------------
标签(Tag):Vagrant Vagrant部署开发环境
------分隔线----------------------------
推荐内容
  • 折腾之安装 Ubuntu 系统

    昨天中午突然心血来潮想装个 linux 系统玩玩,在听取别人的意见后装了 Ubuntu,163镜...

  • Ubuntu 环境下 MySQL 安装与安全优化

    安装 sudo apt- get updatesudo apt- get install mysql-server mysql-client # 设置r...

  • TortoiseGit安装教程及在windows下提交代码到github

    TortoiseGit 是Windows下的可视化Git界面.在windows下使用git最好的软件就是TortoiseG...

  • xshell的使用技巧

    一、帐号密码保存 可以保存多个vps登陆信息,免去每次输入的烦恼。 二、数字小键盘输...

  • kipmi0进程占用cpu高的问题及处理办法

    近期有同事反馈部分机器中kipmi0 占用cpu100%的情况,整理了以下相关资料共大家参考 i...

  • Ubuntu 18.04如何在不重启的情况下安装内核更新

    使用 Ubuntu 18.04 LTS 将使得 Linux 内核实时修补功能变得非常容易,实时修补(Live p...

  • 猜你感兴趣
  • 教育技术学动态
  • 教育技术学论文
  • 理论研究
  • 应用研究
  • 资源收藏
  • 百家观点
  • 英文文献
  • 中国电化教育
  • 电化教育研究
  • 中国远程教育
  • 开放教育研究
  • 现代教育技术
  • 远程教育杂志
  • 现代远距离教育
  • 中国教育信息化
  • 中国信息技术教育
  • 中小学信息技术
  • Flash龙8娱乐官网手机版
  • Photoshop龙8娱乐官网手机版
  • 3DMAX龙8娱乐官网手机版
  • AutoCAD龙8娱乐官网手机版
  • CorelDRAW龙8娱乐官网手机版
  • Matlab龙8娱乐官网手机版
  • 其他龙8娱乐官网手机版
  • .Net龙8娱乐官网手机版
  • Asp龙8娱乐官网手机版
  • Php龙8娱乐官网手机版
  • Jsp龙8娱乐官网手机版
  • Ajax龙8娱乐官网手机版
  • Android教程
  • 其他龙8娱乐官网手机版
  • Word教程
  • Excel教程
  • PowerPoint教程
  • Ubuntu教程
  • 其他教程
  • 课件下载
  • 软件下载
  • 视频教程下载
  • 其他下载
  • 教案大全
  • 试题大全
  • 课件大全
  • 其他大全
  • 人像摄影
  • 风光摄影