分类目录归档:虚拟机

使用虚拟机 VirtualBox 管理工具vagrant

在项目开发中需要使用lamp、lnmp等各种环境各类型软件,安装维护等等各种不方便,使用vagrant和virtualbox来管理虚拟机可以在开发环境、测试环境或个人计算机都可以方便的安装不同的虚拟机。同时可灵活配置ip,端口转发,共享目录等,还可以打包配置好的系统分发使用。

vagrant 下载地址:https://www.vagrantup.com/downloads.html

virtualbox下载地址:https://www.virtualbox.org/wiki/Downloads

可以根据自己的系统下载合适的版本,可以在vagrant官网查看版本兼容,都是外网,需要耐心等待下载会比较慢。box系统文件也需要在vagrant官网下载或其他途径,请自行百度。准备完成即可安装两款软件。安装完成【需要重启改变环境变量】后按照以下配置:

vagrant 常用的命令:

vagrant box list     查看box列表

vagrant box  add   box名称  .box系统文件 # 添加box

vagrant box remove box名称    #移除box

vagrant init box名称    #初始化一个虚拟机

vagrant  up                    #在虚拟机目录开启虚拟机

vagrant ssh                  #登录到虚拟机  windows下使用xshell

vagrant halt               #关闭虚拟机

vagrant reload         #重新启动虚拟机

vagrant destroy  虚拟机名称         #销毁虚拟机

vagrant suspend       #挂起虚拟机

更多命令 : https://www.vagrantup.com/docs/boxes.html

添加虚拟机的步骤如下:

1. 添加.box为后缀的系统文件到vagrant 的安装目录,   输入 vagrant add box 系统名称 (系统的名称) .box系统文件的位置

使用vagrant box list 查看系统中添加成功的box,添加成功后就可以初始化虚拟机。

2. 新建虚拟机目录安装 ,然后切换到虚拟机安装目录,输入命令 vagrant init 系统名称 (初始化虚拟机)

3. 输入命令vagrant up 启动虚拟机,启动虚拟机时先手动启动VirtualBox,才能启动虚拟机。

4.配置虚拟机配置文件:在初始化虚拟机后可以在虚拟机安装目录下看到生成Vagrantfile文件,可以编辑改文件后重启虚拟机生效。

5.配置文件配置项说明:

config.vm.box = “ubuntu1604”  #box名称 系统初始化名称 

config.vm.hostname = ‘ubuntu’   #虚拟机内部主机名称

config.vm.network “forwarded_port”, guest:80,host:8080 #端口转发 、本地端口转发至虚拟机

config.vm.network “private_network”,  ip:”192.168.1.1″  #设置静态的私有ip,主机可访问

config.vm.network “public_network”,  ip:”192.168.1.10″ #设置静态的公有ip,局域网可访问

config.vm.synced_folder "../project", "/src/website"  #共享目录
#设置了同步目录需要修改apache或nginx配置【关闭后实时同步】 
#nginx  配置 :sendfile off;
#apache 配置 : EnableSendfile off; 默认是关闭的。不需要更改

config.vm.provider “virtualbox” do |vb|

vb.name = ‘ubuntu1604’   #虚拟机名称

vb.cpus = 2    #虚拟机cpu数量

vb.memory = ‘1024’   #虚拟机内存M

#vb.gui = true    #此配置可以在出错时在界面查看错误位置

end

6. 打包分发配置好的虚拟机

打包命令:  vagrant package  [–output ubuntu.box【打包box文件】] [–base 设置虚拟机名称]

分发可以通过文件拷贝.box文件即可 ,安装初始化如上所述。