聊聊架构

基于Window+Vagrant+VirtualBox搭建开发环境

Image

以下内容基于windows7(64位)操作系统,如您的系统与此不相同,请自行根

据安装过程进行安装的兼容性修改。依赖程序下载请点击“阅读原文”。

vagrant+virtualBox组合可以让开发环境搭建变得简单,下面介绍下在windows系统上,如何搭建这套环境。

1. 安装virtualBox

请执行附件中的VirtualBox-5.2.18-124319-Win可执行程序

2. 安装vagrant

请执行附件中的vagrant_2.1.2_x86_64可执行程序

3. 切换到需要配置虚拟机的文件夹(本文档以D:\centos6为例),执行以下命令(假想你已经vagrant官网下载了一个box,文件名为CentOS6.box,box文件不区分操作系统,可同时试用Mac、Linux、Windows系统):

vagrant box add demo CentOS6.box

4. 初始化

vagrant init demo

5. 启动虚拟机

vagrant up

注意:执行该命令可能会报以下错误:

5.1:powershell 版本过低(可能报错说你的版本是version 2.0,需要升级到version 3.0。关于powershell的作用,请自行百度。在书写本文档时,以无法捕捉到错误截图,因此直接提供解决方案),请安装与本word文档同目录下的powershell文件下的两个可执行文件。

5.2:出现类似Timed out while waiting for the machine to boot...的错误,这很可能是你的CPU的虚拟化技术没有开启,需要进入BIOS开启。关于这个错误的验证,可以开启Vagrantfile的如下三行注释: 

config.vm.provider "virtualbox" do |vb|

vb.gui = true

end

开启后(记得保存),再执行vagrant up,此时virtualBox的客户端GUI界面将唤起,可以看到客户端软件弹出框报错“VT-x/AMD-V 硬件加速在您的系统中不可用 ; 您的 64-位虚拟机将无法检测到 64-位处理器 , 从而无法启动”

5.3:可能会报诸如以下的错误:

    Image

这是用户权限不足,请将Vagrantfile添加如下内容(务必,记得保存文件):

config.ssh.username="root"

config.ssh.password="vagrant"

    然后重新执行:vagrant up

6. 安装Xshell

7. 进入虚拟机

7.1:windows终端并不支持SSH,所以无法使用vagrant ssh进入虚拟机,需安装Xshell(可执行软件安装包见文末附件的Xshell-6.0.0095p)。

7.2:新建Xshell

文件->新建,弹出框填充内容如下:

   Image

点击连接后,账号输入:root,密码输入:vagrant(默认账户名密码都是vagrant),即可进入虚拟机

7.3:建立宿主机(物理机)目录与虚拟机目录双向同步

修改Vagrantfile文件(记得保存),添加如下内容:

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

config.vm.synced_folder "D:/website", "/home/www", :mount_options => ["dmode=7777","fmode=666"]

注意:添加如上两行,代表着物理机目录D:/website与虚拟机目录/home/www将实现双向同步。192.168.33.10是虚拟机相对于物理机的C类网址(物理机与虚拟机在同一个局域网),今后需要连接到虚拟机上的web服务时,可将物理机的HOST绑定到192.168.33.10。此时重启vagrant(命令:vagrant reload)后,可通过xshell连接至虚拟机,如图:

    Image

点击连接后,账号输入:root,密码输入:vagrant(默认账户名密码都是vagrant),即可进入虚拟机。最终的Vagrantfile文件内容,见附件。

8. 安装完成

特别说明:如果您的物理机是Window10,可能进入虚拟机以后,无法创建软连,解决方法是保证物理机中执行vagrant up的客户端软件(比如:Git Bash、Xshell)用管理员身份打开即可(window中以管理身份运行只需要对着应用程序,单机右键即可) 

附件下载:请点击“阅读原文”