共计 3157 个字符,预计需要花费 8 分钟才能阅读完成。
最近升级了 Win10 之后感觉系统萌萌哒,不过也可惜了自己之前花费很大力气搭建的开发环境。由于最近跨平台的需求比较大,就考虑搭建一套跨平台的开发环境。
Vagrant
Vagrant 是一个相对轻量级的虚拟机管理软件,根据官方的说明:
(Vagrant) Create and configure lightweight, reproducible, and portable development environments.
所以选择了 Vagrant 来管理开发环境。Vagrant 的下载和安装非常的容易,在它的官方网站 https://www.vagrantup.com/downloads.html 中下载需要的版本即可。
Virtual Box
Vagrant 本身并不包含虚拟机管理软件,因此我们需要配合 Vagrant 安装一个虚拟机软件。Vagrant 支持 VMware, Virtual Box, Hyper-V 等多种虚拟机软件,我选择的是 Virtual Box。免费,跨平台。
Virtual Box 的安装也非常的容易,官方网站下载即可,在此就不再赘述了。
Tips: 为什么有了虚拟机软件还需要使用 Vagrant?
因为简单的虚拟机并不能满足我们的需要,我们希望一个新的环境,开机就帮我们解决了一切。使用 Vagrant 可以方便的帮助我们在搭建系统之后,自动的管理端口映射 / 软件包安装等等问题。
同时,更重要的,Vagrant 还可以方便的设定同步文件夹,让我们在宿主机内对程序的修改,可以方便的同步到客户机,在调试程序时,这是一个非常优秀的特质。
选择客户机系统
Vagrant 的客户机可以支持多种系统,具体支持那些,可以前往 https://atlas.hashicorp.com/boxes/search 查看,我选择的是 Ubuntu 14.04 x64 的版本,也就是 https://atlas.hashicorp.com/ubuntu/boxes/trusty64 这个版本。
如果你没有其他的需求,仅仅是需要一个干净的 ubuntu, 选择好之后在一个文件夹里执行 vagrant init ubuntu/trusty64
即可初始化一个 Ubuntu 14.04 x64 的虚拟机。
此时文件夹中会出现一个 Vagrantfile 的文件,就是这个客户机的配置文件了。
修改配置文件
修改配置文件主要有两个目的,一是配置端口映射,使我们可以从宿主机的端口去访问客户机,另一个目的是使得客户机在系统加载完成时执行一个 Shell 脚本来安装所需要的程序文件。
Vagrant 会默认初始化一个端口映射为 guest:22, host:2222
也就是说客户机的 22 端口,将被映射到宿主机的 2222 端口。
修改端口映射
我们在 Vagrantfile 文件内找到
# config.vm.network "forwarded_port", guest: 80, host: 8080
这一行,去掉 #号,并按照我们的需要来修改端口号,我的设置如下:
config.vm.network "forwarded_port", guest: 5000, host: 15000
这样就设置了客户机的 5000 端口转发到宿主机的 15000 端口,或者说宿主机的 15000 端口将转发到客户机的 5000 端口。
加载配置脚本
Vagrant 可以设置一个配置脚本,以方便我们来设定配置:找到
# config.vm.provision "shell", inline: <<-SHELL
# sudo apt-get update
# sudo apt-get install -y apache2
# SHELL
这几行,将其修改为
config.vm.provision "shell", path: "Python_env.sh"
表明首次启动后,将找到 python_env.sh 并执行。我们就可以通过设定这个脚本来完成配置不同的环境,我的配置如下:
echo "---------------------Upgrading System......---------"
sudo rm -R /var/lib/apt/lists/*
sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt-get build-dep python
echo "---------------------Upgrading System......---------"
wget -c https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
tar -xzvf Python-2.7.9.tgz
cd Python-2.7.9/
LDFLAGS="-L/usr/lib/x86_64-linux-gnu" ./configure
make
sudo make install
echo "---------------------Checking Installation-----------"
python --version
echo "---------------------Setting pip---------------------"
sudo apt-get install build-essential
sudo apt-get install python-dev
sudo apt-get install python-pip -y
echo "---------------------Upgrading pip-------------------"
sudo pip install --upgrade pip
此时的目录如下:
启动
这一切做好之后,我们就可以启动客户机了。在目录下执行 vagrant up
配置环境中,可以看到已经在执行 Shell 脚本,更新系统了。这个时候只需要默默等待就好 …
开始使用
Vagrant 在启动之后会为我们创建一个 Private Key 以供登陆,你可以直接在 Windows 的命令行下输入 vagrant ssh
来进行 SSH 的操作,也可以像我一样,使用其他的客户端。我使用 MobaXterm 作为 Windows 下的 SSH Client。
输入之后,即可进入到开发环境中。
同步文件夹
不妨在终端中输入 cd /vagrant
和 ls
,你看到了什么?
没错,我们之前在 Windows 中创建的 python_env.sh 和 Vagrantfile 赫然出现在了客户机中。这就是同步文件夹了。该文件夹和 Windows 中的对应文件夹同步。
这样,我们就可以轻松的在虚拟机中进行操作了。
如何使用 vagrant 在虚拟机安装 Hadoop 集群 http://www.linuxidc.com/Linux/2013-04/82750.htm
Vagrant 中高效的 Puppet 模块管理 http://www.linuxidc.com/Linux/2014-05/101873.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
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2015-09/123054.htm