歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 使用 Vagrant 搭建開發環境

使用 Vagrant 搭建開發環境

日期:2017/2/28 14:30:11   编辑:Linux教程

做Web開發少不了要在本地搭建好開發環境,雖然說目前各種腳本都有對應的Windows版,甚至是一鍵安裝包,但很多時候和Windows環境的相性並不是那麼好,各麻煩的問題是實際部署的環境通常是Linux,常常還要面臨著開發和部署環境不一致,上線前還要大量的調試。更要命的是,如果有很多機器需要裝的話,那就真是一個災難了。

Windows下玩Linux少不了虛擬機,但裝系統依舊是相當費事。在現在什麼都在自動化的今天,Vagrant就是這麼一個神器,基於Ruby開發,使用開源 VirtualBox 作為虛擬化支持,可以輕松的跨平台部署。

今天試著把幾台機器的環境都換成Vagrant,很爽很順暢,於是就試著整理了一下使用小結:

如何使用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 1.2.7 (對應的Vagrantfile V2版),VirtualBox 使用的是 4.2.16

准備工作:

下載安裝 VirtualBox :https://www.virtualbox.org/

下載安裝 Vagrant :http://www.vagrantup.com/

下載需要使用的 box :

官方提供的范例:http://files.vagrantup.com/precise32.box

還可以在 http://www.vagrantbox.es/ 這裡下載更多不同系統甚至是已經配置好環境直接可以用的box,雖然可以直接在Vagrant直接使用網址,由Vagrant自動下載安裝,但是考慮到網絡情況,還是建議自行先下載好。

由於習慣用CentOS,於是我就下了CentOS 6.3 x86_64 minimal,這個Box根據個人情況進行選擇即可。

設置環境:

安裝完成並且重啟好系統之後就可以開始設置環境了。

首先在本地創建好工作目錄,並在命令行下切換到對應目錄

vagrant box add base CentOS-6.3-x86_64-minimal.box

base 表示指定默認的box,也可以為box指定名稱,比如 centos63 ,使用base時,之後可以直接使用 vagrant init 進行初始化,如果自行指定名稱,則初始化的時候需要指定box的名稱。

CentOS-6.3-x86_64-minimal.box 是box對應的文件名,這裡可以是本地保存box的路徑,也可以是可以下載box的網址,如果是網址的話,Vagrant會自動啟動下載。


[vagrant] Downloading with Vagrant::Downloaders::File...
[vagrant] Copying box to temporary location...
[vagrant] Extracting box...
[vagrant] Verifying box...
[vagrant] Cleaning up downloaded box...

設置好box之後,在當前工作目錄運行

vagrant init

生成對應的Vagrantfile。通過文本編輯器打開Vagrantfile可以進行一些進一步的常用配置:

網絡配置:

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

目錄映射:

既然是開發環境,那麼開發工作肯定還是需要在本地完成,而不是都要進到虛擬機中去完成,虛擬機就好好在後台運行服務就好了,不然就本末倒置了,所以這裡就需要使用目錄映射功能,將本地的目錄映射到虛擬機的對應目錄。

默認情況下,當前的工作目錄,會被映射到虛擬機的 /vagrant 目錄,當前目錄下的文件可以直接在 /vagrant 下進行訪問,當然也可以在通過 ln 創建軟連接,如

ln -fs /vagrant/wwwroot /var/www

前面的參數 “wwwroot/” 表示的是本地的路徑,這裡使用對於工作目錄的相對路徑,這裡也可以使用絕對路徑,比如: “d:/www/”

後面的參數 “/var/www” 表示虛擬機中對應映射的目錄。

更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2014-07/104116p2.htm

Copyright © Linux教程網 All Rights Reserved