博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vagrant简介和安装配置
阅读量:6179 次
发布时间:2019-06-21

本文共 2406 字,大约阅读时间需要 8 分钟。

hot3.png

Vagrant的更新比较多,因此大家不要尽信网上的教程,包括此文,建议使用最新版,配置还是以文档为准。
  • Vagrant是什么?

                 是一款用来构建虚拟开发环境的工具,它底层支持VirtualBox、VMware甚至AWS作为虚拟机系统。

  • Vagrant能做什么?

    1. 统一开发环境。一次配置打包,统一分发给团队成员,统一团队开发环境,解决诸如“编码问题”,“缺少模块”,“配置文件不同”带来的问题;
    2. 避免重复搭建开发环境。新员工加入,不用浪费时间搭建开发环境,快速加入开发,减少时间成本的浪费;

    3. 多个相互隔离开发环境。可以在不用box里跑不同的语言,或者编译安装同一语言不同版本,搭建多个相互隔离的开发环境,卸载清除时也很快捷轻松。

  • 安装 和 配置?

    • mac上是傻瓜式一键安装

1. #Vagrant常用命令

1.1. 添加box

#提前下载好的box文件,~/box/precise64.box,我们给这个box命名为ubuntu12.04vagrant box add ubuntu12.04 ~/box/precise64.box#box文件也可以是远程地址 base 为默认名称#vagrant box add base http://files.vagrantup.com/lucid64.box

1.2. 初始化

#打开目录#cd ~/vagrant/work#初始化vagrant init#如果你添加的box名称不是base,那么需要在初始化的时候指定名称,例如vagrant init ubuntu12.04

1.3. 启动虚拟机

vagrant up

1.4. ssh到虚拟机

vagrant ssh

1.5. 重启虚拟机(重新载入配置文件)

vagrant reload

1.6. 打包分发

vagrant package

1.7. 更多命令查看帮助

vagrant -h

2. #主要配置

        开发目录下有一个文件Vagrantfile,里面包含有大量的配置信息,主要包括三个方面的配置,虚拟机的配置、SSH配置、Vagrant的一些基础配置。

        打开看一下,注释很全,所以不用担心不会配置了,下面主要备忘几个常用配置:

2.1. box设置

config.vm.box = "ubuntu12.04"

2.2. hostname设置

config.vm.hostname = "for_work"

2.3. 虚拟机网络设置

 #config.vm.network "private_network", ip: "192.168.33.10" config.vm.network "public_network"

2.4. 同步目录

config.vm.synced_folder "../data", "/vagrant_data"

2.5. 端口转发

config.vm.network "forwarded_port", guest: 80, host: 8080

2.6. 内存和cpu核心

config.vm.provider "virtualbox" do |vb|#Display the VirtualBox GUI when booting the machinevb.gui = true#Customize the amount of memory on the VM:vb.memory = "1024"vb.cpus = 2vb.name = "my_vm"end

3. #注意事项

        使用 Apache/Nginx 时会出现诸如图片修改后但页面刷新仍然是旧文件的情况,是由于静态文件缓存造成的。需要对虚拟机里的 Apache/Nginx 配置文件进行修改:

# Apache 配置添加:EnableSendfile off# Nginx 配置添加:sendfile off;

3.1. Vagrant内的站点访问速度慢?

  • 使用NFS !important
  • 使用CPU多核心,加点内存
  • 打包保存自己的BOX,备用
  • 域名解析问题?

具体配置操作,参考原文 和 vagrant文档。

  • nfs权限问题

    config.vm.synced_folder '.', '/vagrant', :nfs =>{:linux__nfs_options => ["no_root_squash"],:map_uid => 0,:map_gid => 0}
  • 域名解析慢的问题

    config.vm.provider :virtualbox do |vb|#vb.gui = truevb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]vb.customize ["modifyvm", :id, "--natdnsproxy1", "on"]end

3.2. 挂载失败的问题?

报错:

Failed to mount folders in Linux guest. This is usually because the "vboxsf" file system is not available. Please verify that the guest additions are properly installed in the guest and can work properly. The command attempted was:

尝试:

sudo apt-get install virtualbox-guest-dkms

参考:

转载于:https://my.oschina.net/mickelfeng/blog/535986

你可能感兴趣的文章
rsync 介绍
查看>>
做一个合格的Team Leader -- 基本概念
查看>>
leetcode 190 Reverse Bits
查看>>
阿里巴巴发布AliOS品牌 重投汽车及IoT领域
查看>>
OPENCV图像处理(二):模糊
查看>>
glassfish4系统启动脚本
查看>>
VMware 虚拟化编程(13) — VMware 虚拟机的备份方案设计
查看>>
独家 | 一文读懂推荐系统知识体系-下(评估、实战、学习资料)
查看>>
UIEvent UIResponder UI_04
查看>>
从非GP到GP
查看>>
云计算助力CDN加速
查看>>
iphone开发之多线程NSThread和NSInvocationOperation
查看>>
MFMailComposeViewController 发邮件
查看>>
velocity 模板解析类
查看>>
HTTP以及HTTPS协议
查看>>
Browser:浏览器版本判断类
查看>>
MyEclipse Servers视窗出现“Could not create the view: An unexpected exception was thrown”错误解决办法...
查看>>
伪类和伪元素
查看>>
jquery
查看>>
Day 3:模块结构和布局
查看>>