[API-d5] - [Server 番外篇] 建立自己的本機虛擬伺服器 1 - Vagrant & VirtualBox 安裝
VirtualBox 是一套虛擬軟體,可以方便幫助我們在現有的作業系統上
模擬另一個作業系統 (如 linux, Ubuntu, CentOS…)
在虛擬機器裡面所以的一切變動,都不會影響到現有的作業系統,
非常適合拿來做測試使用
由於現在大部份的 Service 除了架設在 Windows Server 外,最大宗的就是 *nix distribution 了
因此這在這個系列文中,也是一定要教大家如何建立起虛擬測試機器,
來模擬真實 Server 環境中,如何架設自己撰寫的 API Service
VirtualBox
到 VirtualBox 官方網站下載合適的安裝檔案吧!
安裝完成就可以了!
因為我們接下來會使用 Vagrant 這套 commaond line tool 來對 VirtualBox 進行操作
因此只要安裝完 VirtualBox 後就可以不用管他了 XD
Vagrant
它可以幫助我們快速的建立一個輕量、可重複使用、並且可以打包起來帶著走的環境
透過編輯一個設定檔,就可以簡單設定該虛擬系統的 *nix 基本設定,如 共享資料夾、網路存取等等,
不需要透過 VirtualBox
通常這套軟體可以應用在團隊開發上:
以網頁開發來說,如果大家的測試環境與版本都不太一樣,例如 apache 或 php 版本不同
有時候會造成團隊溝通的負擔,因此透過 Vagrant 將 server 環境重新建立一套虛擬機器,
並且透過 Vagrant 打包,就可以丟給其他人使用,這樣一來大家的環境都一樣,
就可以避免這個問題,
而且還有一點,Server 的安裝是很累人的,同樣的事情基本上都不會想做第二遍,
因此打包一個乾淨的環境後備份,弄髒了可以隨時快速再把備份拿出來用,非常方便!
安裝:
到 下載頁面 尋找適合自己的下載並且安裝
安裝完後應該就可以在終端機中使用 vagrant 這個指令了!
$ vagrant -v
Vagrant 1.6.5
目前最新的版本應該是 1.6.5
建立自己的虛擬機器
首先在自己想要建立虛擬機器的地方先開一個資料夾
$ mkdir ~/ithome/
切換到該資料夾
$ cd ~/ithome
使用 vagrant 初始化這個資料夾,並且指定我們要使用 Ubuntu 14.04 版本
$ vagrant init ubuntu/trusty64
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.
如果想要使用別種 *nix 版本可以到這裡找 - VagrantCloud
下完 vagrant init ubuntu/trusty64
指令後,指令告訴你有一個檔案叫做 Vagrantfile
被建立在這個資料夾裡了,
可以使用 vagrant up
來開啟虛擬機器
不過我們先不要下開機指令,我們先來看看 Vagrantfile
的內容,我直接把比較重要的設定說明寫在註解裡面了:
...
// 此行是說明要使用哪一個 box ,會到自己的系統裡面尋找,如果沒有的話就會下載一個
// 由於我們剛剛是使用 VagrantCloud 找的版本,因此 vagrant 會去找
config.vm.box = "ubuntu/trusty64"
// 這個是設定網路
// 預設是 NAT,也就是如果我們在虛擬機器裝了網頁伺服器,
// 必須使用 port forwarding 的方式來讀到虛擬機器裡面的網頁
#config.vm.network "forwarded_port", guest: 80, host: 8080
// Important!
// 承上,或者我們可以使用一個 private network ip,我們把它開啟註解吧~
// 這樣我們開啟虛擬機器時,他的 IP 就會是 192.168.33.10
config.vm.network "private_network", ip: "192.168.33.10"
// 開啟註解的話,就是直接使用 bridge 的方式,如果是使用分享器的話
// 虛擬機會到分享器要一個 IP
# config.vm.network "public_network"
// 這個是設定共享資料夾
// 預設是放 Vagrantfile 的那個資料夾
// 在這個資料夾放檔案的話,在虛擬機器裡的 '/vagrant/' 資料夾是可以看到的!!
// 如果有想要指定到特殊的資料夾,再編輯此行並開啟註解即可
# config.vm.synced_folder "../data", "/vagrant_data"
end
再來就讓它開機吧!
$ vagrant up
如果沒有下載過 ubuntu 系統的話,會先幫你下載,所以需要等待一些時間
若看到終端機說系統已經建立完成,
就可以連線進去了!
$ vagrant ssh
.....
vagrant@vagrant-ubuntu-trusty-64:~$
就會發現終端機的 prompt 已經不一樣了,變成 ubuntu-trusty-64 ,表示我們已經進入虛擬機器裡面了
由於今天的內容只會先到這,關於 Ubuntu 的設定是明天,所以記得離開虛擬機器並且幫他關機 XDD
// 如果剛剛有進入虛擬機器的話,輸入 exit 離開
$ exit
再下關機指令:
$ vagrant halt
虛擬機器就被關起來了!
順帶一提
如果在虛擬機器開機時,需要更改 Vagrantfile 的設定,
改完後虛擬機器必須要重新開啟才會讀到新的設定
$ vagrant reload
下回待續!!