VirtualBox+Vagrant環境搭建
我們剛開始入門的時候使用的整合的wamp來開發我們的PHP程式,在window下,雖然說可以搭建各種開發環境,但是有時候和Linux的生產環境還是不太一樣,最佳的還是linux平臺。於是我們虛擬機器,我們使用開源的VirtualBox作為虛擬化支援,另外對於團隊來說,每個人的開發環境要保持一致,利用Vagrant來解決開發環境保持一致,配置大大簡化,輕鬆跨平臺。
VirtualBox虛擬機器
VirtualBox 是一款開源虛擬機器軟體。VirtualBox 是由德國 Innotek 公司開發,由Sun Microsystems公司出品的軟體。在 Sun 被 Oracle 收購後正式更名成 Oracle VM VirtualBox。
在VirtualBox網站下載主機作業系統對應的二進位制檔案。VirtualBox可以安裝在32位和64位作業系統上。在32位主機作業系統上執行64位的虛擬機器是可以的,但必須在主機的BIOS中啟用硬體虛擬化特性。
官網下載https://www.virtualbox.org/wiki/Downloads
window下安裝VirtualBox6.0.8
如果想下載往期的版本https://www.virtualbox.org/wiki/Download_Old_Builds
雙擊exe檔案執行二進位制安裝檔案將開啟一個簡單的安裝嚮導,允許使用者定製VirtualBox特性,選擇任意快捷方式並指定安裝
安裝Vagrant
Vagrant是一個基於Ruby的工具,用於建立和部署虛擬化開發環境,由HashiCorp公司開發的工具。它使用Oracle的開源VirtualBox虛擬化系統,使用 Chef建立自動化虛擬環境。Vagrant 有著易於使用的工作流,並且專注於自動化,降低了開發者搭建環境的時間,提高了生產力。解決了“在我的機器上可以工作”的問題。
官網下載https://www.vagrantup.com/downloads.ht
雙擊msi檔案,我本次下載的是vagrant_2.2.4_x86_64的版本。選擇安裝位置,進行下一步安裝。安裝完畢後需要重啟系統。
之後就可以開啟終端cmd使用vagrant
下載Box
Vagrant官網下載一個package.box 檔案,它有點類似於我們之前安裝虛擬機器時候需要下載ISO映象來裝系統,這裡的話就是Vagrant開源社群已經提供許多打包好的作業系統,我們稱之為Box,你可以直接下載,也可以自己製作。省去我們自己下載映象,配置安裝系統初始化的過程。
官網下載https://app.vagrantup.com/boxes/search 或者在倉庫下載http://www.vagrantbox.es/
我這裡下載一個Centos7的版本
新增box
Box其實是一個壓縮包,裡面包含了 Vagrant 的配置資訊和 VirtualBox 的虛擬機器映象檔案。vagrant up 啟動虛擬機器是基於 box 檔案的,因此在啟動虛擬機器前必須得把 box 檔案準備好。
建立一個工作目錄,新增box,把下載好的box檔案放在目錄下面。
vagrant box add Centos7 CentOS-7-x86_64-Vagrant-1902_01.VirtualBox.box [新增box命令] vagrant box add 起一個名字 使用box的檔案位置
初始化box
[檢視有哪些box] vagrant box list [初始化box] vagrant init Centos7
啟動虛擬機器
[啟動虛擬機器box] vagrant up
連線虛擬機器
[連線box虛擬機器] vagrant ssh
預設root使用者密碼是vagrant
修改配置檔案
Vagrantfile檔案
這個檔案是非常重要,包括虛擬機器配置,ssh配置,Vagrant的一些基礎配置。Vagrant是用Ruby開發的,所以它配置檔案的語法也是Ruby。配置檔案只要有改動就需要執行 vagrant reload 載入配置。重新啟動虛擬機器,重新載入配置檔案。
打包虛擬機器
[關閉虛擬機器] vagrant halt [打包box] vagrant package --output Centos7.box
使用 package 選項將虛擬機器打包.