Vagrant+virtualbox+centos 搭建linux虛擬機

vagrant

author : huangteng


Ruby寫的一個輕巧的構建虛擬環境的工具。就目前而言,我覺得除了Apache
NIFI項目需要外,還有別的兩個重要的用途:

  1. 構建一個統一的環境,這個環境也可以是像生產環境的開發環境。這樣的好處顯而易見,因爲我們經常遇到一個問題就是代碼在開發環境是OK的,但是一發布就各種問題,通過Vagrant配置一個和生產環境一樣的開發環境,我們可以在一個box裏開發,通過鏡像來傳遞每個人的代碼,更加安全,解決環境問題。

  2. 每個項目都要去搭建環境,每個人的搭建環境水平和認識不一致。通過vagrant搭建一個統一的環境,這些問題就都沒有了哦。

Vagrant 安裝


Vagrant安裝是傻瓜式的,只是win10系統的可能會略坑,現在最新的版本應該是1.9.4,建議下載1.9.1版本的,最新版的我安裝的過程中一直會出現Gem的錯誤,如果對Ruby不是很瞭解的話,這種錯誤是很難搞定的,最好的辦法還是換一個版本一直next就行。
安裝完成後,在cmd運行vagrant,出現–help信息就說明你搞定安裝了。

Centos-7.0-x86_64.box


這是一些大牛自己寫的box,直接在網上下載來就行。我使用的是centos7,你也可以用ubatu等。

Xshell 5


shell命令工具,我推薦使用這個,當然你可以選中任意你喜歡的。

Vagrant+VirtualBox+Centos-7.0-x86_64.box

搭建一個linux的虛擬機環境步驟:
cd到一個文件夾;

添加box;title是虛擬機的別名,boxUrl是.box文件的地址
1. vagrant box add {title} {boxUrl}

初始化
2. vagrant init {title}

啓動
3. vagrant up

這個時候在你的文件夾下就會有一個box的配置文件Vagrantfile
現在就需要通過Vagrantfile文件來設置網絡鏈接方式,設置完成之後
執行一下vagrant reload重啓一下。

上述網絡設置解析

  1. Forwarded port–端口映射

語法:

config.vm.forwarded_port 80, 8080
UDP:
config.vm.forwarded_port 80, 8080, protocol: "udp"

其實這種設置很好理解,就是物理機的8080端口實際映射了虛擬機的80端口,訪問8080實際都是轉發給了虛擬機的80端口。默認是TCP協議,如果採用UDP協議需要單獨聲明協議的內容。
這樣的配置問題就是很多端口的時候映射就多了,這就是個麻煩事情了。這樣設置之後不能支持在宿主機器上採用小於1024的端口轉發,這樣ssl(443)進行https鏈接就不可以用了

  1. Private network–私有網絡

語法:

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

這個也很簡單,就是隻有主機可以訪問虛擬機,別的都不可以,這樣的缺點就是明顯不能實現前邊說的在同一環境中進行團隊開發。裏面的ip是虛擬機的ip,可以通過Xshell設置連接,需要的密碼默認都是vagrant,需要的key的地址之類的,你執行一下vagrant ssh就可以看到了哦。

  1. Pulic network–公有網絡

語法:

公共地址 DHCP獲取時會自動分配一個地址
config.vm.network "public_network"
config.vm.network "public_network", ip: "192.168.1.120"
設置橋接的網卡:
config.vm.network "public_network", :bridge => 'en1: Wi-Fi (AirPort)'

其實用法和私有網絡差不多,可以設置橋接的網卡,團隊可以協作開發,唯一的痛點就是必須要有網絡纔行。
其實可以理解成爲這樣設置之後虛擬機就是和你的主機平行的,都在一個網絡上,是平行的獨立的兩臺電腦一樣。

設置好網絡之後通過Xshell建立連接,就ok了。環境就搭建好了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章