我們剛開始入門的時候使用的集成的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 選項將虛擬機打包.