澳门新浦京娱乐场网站-www.146.net-新浦京娱乐场官网
做最好的网站

澳门新浦京娱乐场网站使用指南,虚机开发环境

vagrant是简便虚拟机操作的一个软件,而使用虚拟机有几个好处:

1,介绍Vagrant

我们做web开发的时候经常要安装各种本地测试环境,比如apache,php,mysql,redis等等。出于个人使用习惯,可能我们还是比较习惯用windows。虽然说在windows下搭建各种开发环境是可行的,各大开发环境都有windows版本。然而在windows下配置有时候会显得繁琐,并且还会导致开发环境(windows)和生产环境(lunix)不一致。
能不能在windows下也像linux那样开发?也许你想到了,用虚拟机。用虚拟机装个linux系统就好了。装完linux系统就设置共享目录,设置网络端口映射,等等。好像也有那么点繁琐。
还有,假如我们是一个团队进行开发,那么每个人的电脑上都要装个虚拟机 linux系统 各种运行环境。手动设置麻烦不说,大家的开发环境不太一致(可能你装了apcahe我装了nginx等),也是头疼。能不能把各种设置都自动化,并且保持整个团队的开发环境一致呢?
Vagrant就是为了解决这个问题而生的。它使用开源 VirtualBox 作为虚拟化支持,可以轻松的跨平台部署。

vagrant 使用指南


前几天看了Vagrant的介绍,今天正好有空,打算安装下试试。由于自己用的是Windows的开发环境,所以就在window下试着搭建了下。遇到一些问题,记录下。

1、为了开发环境与生产环境一致(很多开发环境为windows而生产环境为linux),不至于出现在开发环境正常而移步到正式生产环境时出现各种问题,而vagrant通过共享文件,可以实现在主机(windows)下的IDE编写代码操作,直接在虚拟机(linux)中运行展示出效果。

2,下载

下载VirtualBox:
上面给出的是4.3.28版本的下载链接。要下载其他版本请访问官网

下载Vagrant:

上面给出的是1.7.2版本的下载链接。要下载其他版本请访问官网

下载虚拟镜像:

上面给出的是centos-6.6镜像下载链接,要下载其他镜像请访问官网

Date:2017.6.6 By author : longyunfeigu

关于Vagrant,及为什么用Vagrant。大家可以去看这篇文章《为什么要使用Vagrant》,个人感觉说的比较详细。

2、在vagrant中只需要搭配一次开发环境,然后就可以将搭配好的环境系统镜像打包发送给其他的同事用了,其他同事只需要下载vagrant和virtualBox,然后配置下共享目录后就可以开发了,再也不需要关心配置环境的问题了。

3,安装

下载好上面的软件包后,先安装VirtualBox,然后安装Vagrant。都是双击即可安装的,所以没什么好介绍。下面介绍下怎么把镜像导入。
先新建一个工作目录
比如我新建了D:VagrantWorkcentos-6.6-x86_64
打开cmd命令提示符,进入新目录,以我上面的目录为例,输入

1
2
D:
cd D:VagrantWorkcentos-6.6-x86_64

然后输入命令初始化

1
vagrant init centos6.6

把下载的centos-6.6-x86_64.box复制到本目录D:VagrantWorkcentos-6.6-x86_64下,执行

1
vagrant box add centos6.6 centos-6.6-x86_64.box

检查是否导入成功

1
vagrant box list

一、准备工作

安装vagrant、virtualbox、listary. 
注意:安装virtualbox的目录可以随意指定,但是安装vagrant最好选择默认路径(涉及到路径指向问题)

接下来,说下我的整个安装过程。

3、目前好多扩展如swoole、redis等对linux支持更好,甚至有些只支持linux,所以采用虚拟机,再也不需要为学习新技术找借口了。

4,配置

用文本编辑器打开D:VagrantWorkcentos-6.6-x86_64目录下的Vagrantfile文件便可以进行一些常用配置。
下面列举出几个常用的配置。要用到其他配置请访问官网文档或者百度谷歌一下。
1,端口映射

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

把上面这句代码前面的#号去掉。它表示映射本机的8080端口到虚拟机的80端口
2,如果需要自己自由的访问虚拟机,但是别人不需要访问虚拟机,可以使用private_network,并为虚拟机设置IP。

1
config.vm.network :private_network, ip: "192.168.33.10"

把上面这句代码前面的#号去掉即可
3,目录映射

1
config.vm.synced_folder "../data", "/var/www"

如果启用上面的命令,表示把本机的data目录共享到虚拟机里的/var/www目录

二、安装centos6.5

1.在windows下任意一个磁盘分区创建一个文件夹,文件夹名为虚拟机前缀名

2.把下载好的后缀名为.box镜像文件复制到创建的文件夹内

3.在创建的文件夹内单击两次打开listary,选择命令--打开命令行窗口

4.cmd中输入vagrant box add ceshi1 c.box,其中box是参数,ceshi1是命令vagrant box list显示的虚拟机名称,c.box是本人下载的box镜像

5.cmd中输入vagrant init ceshi1,此处的ceshi1和步骤4保持一致.也可以输入vagrant init,但是需要手动修改文件夹下的Vagrantfile澳门新浦京娱乐场网站使用指南,虚机开发环境。文件,把config.vm.box = "base"改为config.vm.box = "ceshi1"

6.cmd中输入vagrant up启动虚拟机

7.在virtualbox的设置-网络把NAT改成桥接,并更改MAC地址(DHCP根据MAC地址分发IP,防止多台虚拟机出现同一个IP的情况)

一、准备工作

Vagrant 除了virtualbox,还支持HyperV、VMWare等虚拟软件。virtualbox与vagrant是最常用的搭配,也是文档最多的,所以我也选了这对组合。

box 的镜像除了使用下载好的本地文件还可以使用在线的box镜像,添加镜像时,还是会下载。

相关环境机软件版本:主机:win7;虚拟机:CentOS 6.5 x86_64;vagrant:1.9.5;virtualBox:5.2

5,启动

进入目录D:VagrantWorkcentos-6.6-x86_64后执行命令

1
vagrant up

虚拟机启动之后则可以通过 vagrant ssh 联入虚拟机进行进一步的环境配置,或者软件安装相关的工作,在Windows系统下,并不能直接通过 vagrant ssh 连到虚拟机,需要使用 Putty,Xshell 等第三方工具进行连接。连接地址127.0.0.1,端口2222。登录的帐号root的密码为 vagrant

三、配置

二、安装及应用

2.1 安装virtualbox和vagrant

同其他windows软件一样,“下一步”即可。

2.2 应用

1、给vagrant 添加镜像。

D:vagrant>vagrant box add base CentOS-6.6-x86_64.box

说明:

  • vagrant box vagrant命令
  • base 添加box的名称
  • centos-6.6-x86_64.box- 本地box的文件名
  • 使用vagrant box list 查看添加的box镜像列表。

也可以添加在线box,和添加本地box一样。通过命令vagrant box add Ubuntu/trusty64。ubuntu/trusty64为在线镜像名称。

在线镜像地址 vagrantCloud。(国内的网络访问可能不太通,建议下载后添加 )

这是我使用centos的镜像 centos-6.6-x86_64.box

链接: 密码: 7ug7

2、初始化虚拟机。

D:\vagrant\>mkdir worker # 创建工作环境
D:\vagrant\>cd worker 
D:\vagarnt\worker\>vagrant init [boxname] # 当添加的box的别名不为 base 时,此处需要添加 boxname

3、启动虚拟机

D:\vagrant\worker\>vagrant up

看到如下信息,说明虚拟机启动成功:

D:vagrantworker>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'base'...
==> default: Matching MAC address for NAT networking...
==> default: Setting the name of the VM: worker_default_1448939529781_46842
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
    default: Warning: Remote connection disconnect. Retrying...
    default:
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
    default:
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if it's present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
    default: The guest additions on this VM do not match the installed version of
    default: VirtualBox! In most cases this is fine, but in rare cases it can
    default: prevent things such as shared folders from working properly. If you see
    default: shared folder errors, please make sure the guest additions within the
    default: virtual machine match the version of VirtualBox you have installed on
    default: your host and reload your VM.
    default:
    default: Guest Additions Version: 4.3.28
    default: VirtualBox Version: 5.0
==> default: Configuring and enabling network interfaces...
==> default: Mounting shared folders...
    default: /vagrant => D:/vagrant/worker

注意:
此处会有个错误,卡在此处:

Bringing machine 'default' up with 'hyperv' provider...
==> default: Verifying Hyper-V is enabled...

经查找,网上许多网友说是vagrant的启动虚拟机时,使用了windows 系统自带的 hyperv 虚拟机导致。但他们的问题大部分是发生在windows 8上,而我的系统为window7 。

最后,看到有网友说需要配置虚拟机 virtualbox 的环境变量(将virtualbox的安装目录添加到环境变量path中),试了下果然解决我的问题。

20151217更新:

网络的配置,网络的配置在worker文件夹下的Vagrantfile 文件中。vagrant创建的虚拟机有3中配置网络模式:

  • 较为常用是端口映射,就是将虚拟机中的端口映射到宿主机对应的端口直接使用 ,在Vagrantfile中配置:

    config.vm.network “forwarded_port”, guest: 80, host: 8080

将配置直接去掉注释“#”即可。guest: 80 表示虚拟机中的80端口, host: 8080 表示映射到宿主机的8080端口。

  • 如果需要自己自由的访问虚拟机,但是别人不需要访问虚拟机,可以使用private_network,并为虚拟机设置IP ,在Vagrantfile中配置:

    config.vm.network “private_network”, ip: “192.168.56.2”

192.168.56.2 表示虚拟机的IP,多台虚拟机的话需要互相访问的话,设置在相同网段即可。该ip默认帮到eth1上。

  • 如果需要将虚拟机作为当前局域网中的一台计算机,由局域网进行DHCP,那么在Vagrantfile中配置:

    config.vm.network :public_network

此时虚拟机就如同宿主机一样链接到网络中,享有和宿主机一样的网络权限。此时,若ip为自由分配,可使用127.0.0.1地址,

端口使用启动时在命令窗口提示的端口,登陆机器查看分配的ip,即可使用分配的ip登陆。若ip为固定的,可在配置中写好。如下:

config.vm.network :"public_network",ip: "192.168.56.2"
#还可设置网桥,以无线为例 -- 此配置需验证,一般只需配置最简即可。
config.vm.network "public_network", :bridge => 'en1: Wi-Fi (AirPort)'

4、链接使用

由于windows不支持 ssh 命令,所以我们需要使用其他的ssh的客户端来链接。就拿我使用的xshell来做说。

在cmd窗口中录入:vagrant ssh。会看到你的主机地址、端口、以及key的存放位置。

D:vagrantworker>vagrant ssh
`ssh` executable not found in any directories in the %PATH% variable. Is an
SSH client installed? Try installing Cygwin, MinGW or Git, all of which
contain an SSH client. Or use your favorite SSH client with the following
authentication information shown below:

Host: 127.0.0.1
Port: 2222
Username: vagrant
Private key: D:/vagrant/worker/.vagrant/machines/default/virtualbox/private_key

在xshell中添加ssh的key。可以参考 这里。

由于我们的key已经生成,所以我们只需导入即可。

工具–>用户秘钥管理–>导入,即可。

澳门新浦京娱乐场网站 1

创建好回话后,在点击登录的时候选择 public key ,会看到我们导入的 private_key。

澳门新浦京娱乐场网站 2

此处密码不用填写,直接点击登录即可进入系统命令行了。

到这里,便和操作普通的linux的系统一样了。

若想使用root用户登录,见下文 3.3 节。

5、打包分发

当你配置好开发环境后,退出并关闭虚拟机。在终端里对开发环境进行打包:

vagrant package

打包完成后会在当前目录生成一个 package.box 的文件,将这个文件传给其他用户,其他用户只要添加这个 box

并用其初始化自己的开发目录就能得到一个一模一样的开发环境了。

一、安装步骤如下:

6,导出

在cmd里进行工作目录后,执行下面命令

1
vagrant package

完成后会在当前目录就会生成package.box,之后新建虚拟机则可使用这个box。如果事先在你的虚拟机里建立好了各种开发环境,那么你直接把这个box给你的团队其他成员安装,这样就可以省去一台台电脑部署的时间,还可以保持开发环境一致。很方便有木有。

网络配置

vagrant的网络有三种模式

1、较为常用是端口映射,就是将虚拟机中的端口映射到宿主机对应的端口直接使用,在Vagrantfile中配置: 
config.vm.network :forwarded_port, guest: 80, host: 8080 
guest: 80 表示虚拟机中的80端口, host: 8080 表示映射到宿主机的8080端口。

2、如果需要自己自由的访问虚拟机,但是别人不需要访问虚拟机,可以使用private_network,并为虚拟机设置IP ,在Vagrantfile中配置: 
config.vm.network :private_network, ip: "192.168.1.104"
192.168.1.104 表示虚拟机的IP,多台虚拟机的话需要互相访问的话,设置在相同网段即可

3、如果需要将虚拟机作为当前局域网中的一台计算机,由局域网进行DHCP,那么在Vagrantfile中配置: 
config.vm.network :public_network
注意:更改完配置之后需要重启虚拟机才会生效.可以在virtualbox里手动重启,也可以在cmd输入vagrant reload重启

三、其他

1、下载virtualBox,地址点这里,安装

7,其他命令

下面列举出一些常用的cmd操作命令
vagrant up (启动虚拟机)
vagrant halt (关闭虚拟机——对应就是关机)
vagrant suspend (暂停虚拟机——只是暂停,虚拟机内存等信息将以状态文件的方式保存在本地,可以执行恢复操作后继续使用)
vagrant resume (恢复虚拟机 —— 与前面的暂停相对应)
vagrant box remove centos6.6 (移除box,其中centos6.6是box名)
vagrant destroy (删除虚拟机,删除后在当前虚拟机所做进行的除开Vagrantfile中的配置都不会保留)

目录映射

既然是开发环境,那么开发工作肯定还是需要在本地完成,而不是都要进到虚拟机中去完成,虚拟机就好好在后台运行服务就好了,不然就本末倒置了,所以这里就需要使用目录映射功能,将本地的目录映射到虚拟机的对应目录。当然虚拟机里的文件也会映射到本地。

默认情况下,当前的工作目录,会被映射到虚拟机的/vagrant 目录,当前目录下的文件可以直接在/vagrant下进行访问。其实这里是由.\.vagrant\machines\default\virtualbox\synced_folders文件决定的 
当然,从自动化配置的角度,能不进系统就不需要进系统,所以在vagrant也可以进行目录映射的操作: 
config.vm.synced_folder "../data", "/vagrant_data"
其中"../data"是本机目录,支持绝对路径,"/vagrant_data"是虚拟机路径

3.1 常用命令

虚拟机关机:D:\vagrant\worker\>vagrant halt

虚拟机挂起:D:\vagrant\worker\>vagrant suspend

虚拟机恢复:D:\vagrant\worker\>vagrant resume

删除虚拟机:D:\vagrant\worker\>vagrant destory

查看虚拟机运行状态: D:\vagrant\worker\>vagrant status

重启虚拟机: D:\vagrant\worker\>vagrant reload

2、下载vagrant,地址点这里,安装

附录--vagrant常用命令

  • vagrant up:启动虚拟机
  • vagrant halt:关闭虚拟机
  • vagrant suspend:暂停虚拟机
  • vagrant resume:恢复虚拟机(对应于暂停虚拟机)
  • vagrant destroy:删除虚拟机
  • vagrant package --output NAME --vagrantfile FILE:虚拟机打包

注意:如果要打包的系统中网络模式中使用了private_network的话,在打包前需要清除private_network的设置,避免不必要的错误: 
rm -f /etc/udev/rule.d/70-persistent-net.rules
制作完成之后直接将box文件拿到其他计算机上配置即可使用

3.2 Vagrant和VirtualBox配置修改

Vagrant和VirtualBox安装完成后,默认存放虚拟机镜像文件的位置在系统盘。这对于大多数系统盘容量有限的人来说,

很快就会收到“磁盘容量不足”的告警。通过必要的设置将镜像数据移出系统盘。

3.2.1 更改VirtualBox的镜像文件存放位置

具体步骤如下:

1、打开VirtualBox,从菜单项选择 全局设置 (快捷键是 Ctrl-G )

2、选择 常规 里的 默认虚拟电脑位置(M)

3、设置为非系统盘的位置。

4、将原位置中的虚拟机镜像移动到新的位置。

如果在设置前已经安装了虚拟机,那么在Windows 资源管理器中,选择对应目录中的 Vbox 文件,即可将新目录中的虚拟机镜像添加到VirtualBox中。

3.2.2 更改Vagrant的镜像存储位置

Vagrant对于虚拟机的管理分成两个部分:Box和Machine。Box是指初始的未部署的虚拟机镜像文件。这个文件相当于是虚拟机的一个模板,

可以进行无限制次数的复制。Machine,是指处于可运行状态下的虚拟机。当在Vagrant中添加box是,默认Vagrant会将这些虚拟机模板镜像文件存

放在c:User.Vagrant.d里。

因此,当使用Vagrant管理的虚拟机模板镜像较多时,这个目录也是比较大的。可以转移到其他磁盘分区上。方法是:

1、将 c:User.vagrant.d 目录移动到新的位置

2、设置 VAGRANT_HOME 环境变量指向新的位置即可。

3、下载镜像,有几个地方可以下载:和都可以,这里我随便找了个centos65-x86_64-20140116

3.3 使用root用户登录虚拟机

在linux系统下没有root权限是很不舒服的,所以查了下root用户登录的配置,在vagrantfile 中增加配置:

config.ssh.username = 'root'
config.ssh.password = 'vagrant'
config.ssh.insert_key = 'true'

启动后看到日志 :

D:vagrantworker>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: root
    default: SSH auth method: password
    default: Warning: Connection timeout. Retrying...
    default: Warning: Connection timeout. Retrying...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
    default: The guest additions on this VM do not match the installed version of
    default: VirtualBox! In most cases this is fine, but in rare cases it can
    default: prevent things such as shared folders from working properly. If you see
    default: shared folder errors, please make sure the guest additions within the
    default: virtual machine match the version of VirtualBox you have installed on
    default: your host and reload your VM.
    default:
    default: Guest Additions Version: 4.3.28
    default: VirtualBox Version: 5.0
==> default: Configuring and enabling network interfaces...
==> default: Mounting shared folders...
    default: /vagrant => D:/vagrant/dev
==> default: Machine already provisioned. Run `vagrant provision` or use the `--provision`
==> default: flag to force provisioning. Provisioners marked to run always will still run.

4、将下载的镜像加载,顺便说下,第3步可以不用,vagrant支持在线安装镜像,但由于长城的原因,所以最好通过其它方法将镜像下载下来,再在本地加载,,打开cmd,输入以下命令:

3.4 一个vagrantfile 文件管理多台虚机

1、先使用 box 初始化: vagrant init

2、修改配置文件如下:

# -*- mode: ruby -*-
# vi: set ft=ruby :

# All Vagrant configuration is done below. The "2" in Vagrant.configure
# configures the configuration version (we support older styles for
# backwards compatibility). Please don't change it unless you know what
# you're doing.
Vagrant.configure("2") do |config|
  config.vm.provision "shell", inline: "echo Hello"

  config.vm.define "master" do |saltmaster|
    saltmaster.vm.box = "base"
    saltmaster.vm.host_name = 'saltmaster.local'
    saltmaster.vm.network "private_network", ip: "192.168.33.13"
    saltmaster.ssh.username = 'root'
    saltmaster.ssh.password = 'vagrant'
    saltmaster.ssh.insert_key = 'true'
  end

  config.vm.define "minion" do |saltminion|
    saltminion.vm.box = "base"
    saltminion.vm.host_name = 'saltminion.local'
    saltminion.vm.network "private_network", ip: "192.168.33.14"
    saltminion.ssh.username = 'root'
    saltminion.ssh.password = 'vagrant'
    saltminion.ssh.insert_key = 'true'
  end
end

3、正常启动即可 : vagrant up

4、登录

  • 使用 vagrant ssh 名称 登录

    pylixm@pylixm-pc /d/vagrant/dev331314 $ vagrant ssh master
    root@127.0.0.1's password:
    Welcome to your Vagrant-built virtual machine.
    [root@saltmaster ~]#
    
  • 使用 ip 直接登录

# 命令是这样的,title为自己起的名字,url为box地址,可以在线也可以本地
# vagrant box add {title} {url}
# 实际安装命令,本地下载下来的
vagrant box add CentOs6.5_64 E:boxescentos65-x86_64-20140116.box

将已有 virtualbox 虚机添加到 vagrant管理

直接添加是不行的,这里提供了一中变向的方式:先将virtualbox 的虚机转成 box 镜像 ,再将镜像添加到 vagrant 管理;

详细 –> 这里

1、打包已有虚机(虚机必须用virtualbox打开过,为了让virtualbox可以找到该虚机)

vagrant package --base mybox --output /path/to/mybox.box

2、添加 box 镜像

vagrant box add mybox /path/to/mybox.box

如何使用vagrant在虚拟机安装Hadoop集群 http://www.linuxidc.com/Linux/2013-04/82750.htm

Vagrant 中高效的 Puppet 模块管理 http://www.linuxidc.com/Linux/2014-05/101873.htm

利用Vagrant搭建多平台环境  http://www.linuxidc.com/Linux/2015-09/123518.htm

使用 Vagrant 和 Fabric 用于集成测试 http://www.linuxidc.com/Linux/2014-07/104113.htm

使用 Vagrant 搭建开发环境 http://www.linuxidc.com/Linux/2014-07/104116.htm

Windows 下配置 Vagrant 环境 http://www.linuxidc.com/Linux/2014-07/104115.htm

使用 Vagrant 搭建开发环境 http://www.linuxidc.com/Linux/2014-07/104116.htm

通过 Vagrant 搭建虚拟机环境 http://www.linuxidc.com/Linux/2015-08/121985.htm

使用Vagrant和Virtualbox创建虚拟机  http://www.linuxidc.com/Linux/2016-08/134435.htm

Ubuntu下使用Vagrant搭建虚拟开发环境 http://www.linuxidc.com/Linux/2016-12/138113.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-12/139016.htm

澳门新浦京娱乐场网站 3

 5、找一个/新建一个目录,例如vagrant_project,然后初始化环境

#新建目录
mkdir vagrant_project
#打开此目录
cd vagrant_project
#初始化,CentOs6.5_64为你上方设置的title
vagrant init CentOs6.5_64

初始化成功后,本目录下会出现Vagrantfile这样一个文件,这个是vagrant的配置文件,后续的配置在这里修改

6、先都使用默认的配置,来启动下:

vagrant up

会显示一系列启动信息:

==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222//注意这里
    default: SSH username: vagrant//这里
    default: SSH auth method: private key
    .......

如果不报错的话就算是启动成功了,如果出现错误则谷歌或百度,我这边主要遇到的错误为无限卡在 default: SSH auth method: private key这个地方,很大可能的原因是本机没有开启虚拟化技术,重启电脑,按f2或其它的键进入bios设置,找到virtual相关字样的开启即可。

7、远程连接linux,此时windows下可以用putty或者是xshell来连接,host地址如上方标识的注意: 127.0.0.1:2222,用户名密码都为:vagrant

此时,默认的共享文件夹的对于关系是windows下的vagrant_project文件夹对应linux下的/vagrant文件夹,可以随便在双方建立几个文件测试下是否两方是同步的

8、关闭等命令,由于还有好多需要配置,暂时可以关闭,等配置完成后再启动

#关闭
vagrant halt
#重启
vagrant reload

二、网络配置、共享目录等相关配置

以上仅仅是展示了安装和开启的简单用法,但真正能用于开发还需要额外的配置,打开上方提到的Vagrantfile配置文件来进行配置,好多都是已注释掉的,选择去掉即可

1、网络配置,vagrant有三种配置方法:官网文档点这里查看

  a、端口映射,意思是将虚拟机的端口映射到主机的端口上,主机局域网内可以通过访问这个端口来访问到你虚拟机上的东西

config.vm.forwarded_port 80, 8080

  上述作用是将虚拟机的80端口映射到主机的8080端口上,那我直接访问主机的8080端口就相当于访问虚拟机的80端口

  b、私有网络,只有主机才能访问虚拟机,主句局域网内成员不能访问的虚拟机的内容

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

  上述设置完成后,在本机可以通过192.168.33.10来访问虚拟机,需要注意192.168.33.10虽然可以随便设定,但如果主机的ip为192.168.1.xxx字段,那就不要这个再用这个区段,可以2.xxx或3.xxx或其它,以免造成冲突。

  c、共有网络,主机局域网内成员可以访问虚拟机中的内容,虚拟机相当于局域网内的一员

config.vm.network "public_network", ip: "192.168.1.120"

  以上配置一般来说开发环境也不需要局域网内成员访问,所以大部分情况下是选择用b、私有网络来开发,这个可根据实际情况来选择。

2、共享目录,用户可以自定义共享目录,在Vagrantfile配置文件中配置:

#禁用原有的默认的共享目录
config.vm.synced_folder '.', '/vagrant', disabled: true
#增加新的共享目录,第二个参数以当前文件夹为基准
config.vm.synced_folder "abc", "/www/web/abc",

上方相当与windows下的vagrant_project/abc文件夹对应linux下的/www/web/abc文件夹

除了可以自定义共享文件外,还可以选择共享的方式,vagrant有四种共享的方式,官网文档请点这里查看

  a、NFS共享方式,windows平台无法使用此配置,且用此方式时不能修改文件的所有者和所有组

  b、RSync共享方式,所有平台都可以使用,但这种方式貌似有个缺点就是主机的改动可以同步到虚拟机中,但虚拟机中的改动无法同步到主机中,如果要实现双向同步可能还需做其它设置,由于没有用过,所以不太清楚。

  c、SMB共享方式,只有windows平台可以使用,曾有找一些资料来配置,但一直没有成功,所以具体的并不太清楚,但貌似效率是挺不错的。

  d、VirtualBox共享方式,这是VirtualBox提供的也是vagrant默认的共享方式。当文件数量小时用着不错,当文件数量大的时候打开网页会卡到超时。

总之以上,如果主机是mac,则推荐用NFS共享方式,如果是windows则推荐用smb或者rsync方式,如果文件很少,那用默认的就可以了。

但除了上方说的,windows下其实还有方式可以加快网站访问速度,那就是用Vagrant WinNFSd这款插件,插件地址点这里,这种方式是windows下提高速度最简单的方式了:

vagrant plugin install vagrant-winnfsd

安装完成后配置type为nfs,虽然官网上说nfs不能应用于windows,但用这个插件后就可以了。

config.vm.synced_folder "abc", "/www/web/abc",type:"nfs"

测试了下,此插件还是非常有效的,原先打开yii2框架的文件会超时,或10、20多秒,但用了这个后响应在2s以内,还是可以接受的。另提供一个参考资料:让Vagrant在Windwos下支持使用NFS/SMB共享文件夹从而解决目录共享IO缓慢的问题

 三、域名访问及打包分发

1、域名访问,主要是虚拟的本地域名配置问题

这里还是安装了lanmp_v3.1,具体的安装方法可以看以前的文章:Linux下安装LANMP环境或者去下载官网上去找安装说明

新建一个站点,指定目录到共享的目录,随便取个虚拟的域名:www.abc.com

测试需要在主机中修改host,如下:(至于虚拟机中/etc/hosts文件中,测试修改与不修改都不影响访问)

192.168.33.10    www.abc.com
192.168.33.10    abc.com

然后直接在浏览器中用

2、打包分发

vagrant package

等待一段时间,会发现在目录生成一个package.box的文件,这个就是已经包含安装环境的镜像了,将此镜像发给同事,让其安装上方所属的步骤加载镜像vagrant box add {title} {url}命令,然后配置自己的网络及共享文件夹就可以直接开发了,远离重新配置环境的烦恼。

以上就是vagrant常用的一些操作,挺不错的,试试吧!

本文由澳门新浦京娱乐场网站发布于www.146.net,转载请注明出处:澳门新浦京娱乐场网站使用指南,虚机开发环境