使用 Vagrant 构建现代化 Web 开发环境

Vagrant是用来构建虚拟开发环境的工具,抛弃掉已经过时的 XAMPP、MAMP…吧,使用 Vagrant 摆脱本地开发通过却在实际应用出 Bug 的问题!

一、安装 Vagrant 及虚拟机软件

首先需要下载

  1. Vagrant >
  2. Oracle VM VirtualBox >

当然你也可以使用 VMware Workstation 或 VMware Fusion,但这需要购买一份79美元的授权:购买 >

安装完成后 Windows 系统使用命令提示符,Mac 及 Linux 系统使用终端,使用命令

查看 Vagrant 版本号
vagrant -v

可以看到 Vagrant 的版本号即是安装成功了。

二、添加 Box

使用命令

查看 Box 列表
vagrant box list

可以看到目前没有 Box,Vagrant 提供了一个在线平台下载已经制作好的 Box,这些 Box 有各种 Linux 发行版,如 CentOS、Ubuntu 等

VagrantCloud >

如使用 CentOS,推荐 chef 制作的 Box,比如 chef/centos-7.0

如使用 Ubuntu,推荐ubuntu/trusty64

如我想下载只需要在命令提示符或终端输入命令

添加 Box
vagrant box add ubuntu/trusty64

然后会提示

选择虚拟机
==> box: Loading metadata for box 'ubuntu/trusty64'
    box: URL: https://atlas.hashicorp.com/ubuntu/trusty64
This box can work with multiple providers! The providers that it
can work with are listed below. Please review the list and choose
the provider you will be working with.

1) virtualbox
2) vmware_desktop

Enter your choice:

我们这使用的是Oracle VM VirtualBox,所以输入1回车即可

但我们身处在一个神奇的国度,你很有可能出现下载不了的情况,但这不要紧,可以下载宁皓网下载好的 Box 手动添加进去

先使用 “cd” 命令进入 Box 所在的目录,然后使用 “vagrant box add 名称 路径” 添加 Box,如

手动添加 Box
cd C:\HashiCorp\Vagrant
vagrant box add Ubuntu ubuntu_trusty_64.box

Ubuntu就是 Box 的名称,ubuntu_trusty_64.box 是 Box 文件

然后使用命令

查看 Box 列表
vagrant box list

查看添加成功后就可以删除ubuntu_trusty_64.box了

三、添加虚拟机

使用 “cd” 命令进入到你想创建 Web 开发项目的文件夹然后初始化 Box,如

初始化 Box
cd C:\wwwroot
vagrant init Ubuntu

以上的 Ubuntu 就是之前命名的 Box 名称

启动虚拟机

启动 Box
vagrant up

附相关命令

相关命令
vagrant halt//关闭虚拟机
vagrant suspend//暂停虚拟机
vagrant resume//恢复虚拟机
vagrant destroy//彻底删除虚拟机

查看虚拟机是否运行,显示 Running 就是已经在运行了

Vagrant 运行状态
vagrant status

然后可以使用 SSH 登陆进 Box 的系统进行管理,先使用命令

SSH 到 Box
vagrant ssh

根据返回的提示

SSH信息
Host: 127.0.0.1
Port: 2222
Username: vagrant
Private key: C:/wwwroot/.vagrant/machines/default/virtualbox/p
rivate_key

以上就是 SSH 登陆的信息,IP是127.0.0.1,端口2222,账号密码都是vagrant

OS 及 Linux 用户使用终端

终端连接 Vagrant
vagrant ssh

Windows 用户下载 SSH 工具 PuTTY 进行连接

四、配置 Vagrantfile

在 Box 目录下有个名为 Vagrantfile 的文件,这个文件是用来配置虚拟机的用户名、共享目录、网络等设置,用你顺手的编辑器如 HBuilder、Brackets 打开。

Vagrantfile 里的语法是 Ruby 语言,你不懂也没有关系,内容开头带有 # 号的就表示已经被注销掉,功能就没有开启。

Box 名称
config.vm.box = "Ubuntu"

 

如上便是 Box 现在的名称。

1.配置共享目录

配置共享目录即配置一个你本地的文件夹,配置完成后进行的修改可以实时同步到虚拟机里,这样可以达到原生 Web 开发环境的目的。

共享目录
config.vm.synced_folder "wwwroot", "/vagrant"

找到’config.vm.synced_folder’,去掉#,修好后面的内容,如上便是在 Box 目录的”wwwroot”文件夹与 Box 里的”/vagrant”设为共享目录。

这样,你在”wwwroot”文件夹下创建修改的操作都会同步到虚拟机里的”/vagrant”

2.私有网络

私有网络
config.vm.network "private_network", ip: "192.168.33.10"

找到这行,去掉开头的#,修改后面的IP地址(必须是内网且不能是同一个IP段),如默认的192.168.33.10,意思就是只有你这台机访问192.168.33.10时会访问到虚拟机

3.公有网络

如果你是公司内想给内部开发团队访问到虚拟机,便开启以下命令

公有网络
config.vm.network "public_network"

如有兴趣可看下一篇:

《配置 Vagrant 上 Ubuntu 的 Web 开发环境》

Conners Hua

欢迎入群讨论:Telegram >QQ群 42302626 >(不交流不和谐话题)

您可能还喜欢…

发表评论

电子邮件地址不会被公开。