Vagrant PHP開發環境搭建教程

背景知識

PHP的開發者大部分都是在window下面開發,在開發過程中有時會用到第三方的庫,但是這些庫不支持windows,或者沒有編譯好的文件。例如:Redis的最新版本,在windows下面就沒有編譯好的文件。這時候想用到最新的特性怎么辦?Vagrant就可以解決上面的痛點,團隊成員可以通過相同的Vagrantfile來創建他們的開發環境,無論他們是在Linux, Mac OS X, 或者Windows下,這樣就可以保證你團隊成員的代碼是跑在相同的環境中,從而避免令人煩躁的【在我的機器上是可以的】問題。


環境準備

  1. BIOS要設置開啟虛擬化(VT),這里不會的可以自行搜索怎么開啟這個選項
  2. 下載最新的VirtualBox,根據自已的系統選擇合適的版本
  3. 下載最新的Vagrant 根據自已的系統選擇合適的版本
  4. 根據安裝提示安裝好上面兩個下載好的軟件

Vagrant配置

  1. 添加Vagrant鏡像
    Vagrant的鏡像叫做Box,添加Box可以線上添加,也可以自己下載別人做的Box.
    這里不推薦添加線上,因為這些服務器在國外,會非常慢。建議去下面兩個網站下載現成Box文件
    https://atlas.hashicorp.com/boxes/search
    http://www.vagrantbox.es/
    下載好Box鏡像文件后,在windows下面打開 cmd,輸入下面的命令
    vagrant box add hakaka E:\ubuntu-15.04-amd64.box
    vagrant box add 這是vagrant的常用命令
    hakaka 這是命名,你可以隨便取名,這在下面初始化要用到
    E:\ubuntu-15.04-amd64.box 這是你box的路徑
    執行完后,會有提示。

  2. 初始化環境
    這里針對下PHP開發環境特說明下,其它開發者對號入座吧。假設你的開發目錄 www在 E盤。

 e:
cd www 切換到你的開發目錄
vagrant init hakaka hakaka是在添加Box的名字  

回車

  1. Vagrant配置文件的調整
    執行上面步驟后會在你的開發目錄里創建一個VagrantFile的文件,里面是配置信息,現在去改幾個常用的配置項。
    config.vm.network :private_network, ip: "192.168.33.10"把這句前面的#號去掉,192.168.33.10可以改成你自己想的ip,我是改成11.11.11.50。這個的配置的作用是:

Vagrant 默認是使用端口映射方式將虛擬機的端口映射本地從而實現類似 http://localhost:80
這種訪問方式,這種方式比較麻煩,新開和修改端口的時候都得編輯。相比較而言,host-only 模式顯得方便多了。

  1. Vagrant 啟動
    cmd里切換到你的開發目錄
    cmd里輸入 vagrant up 回車

開發環境搭建

PHP的全套開發環境,可以用這個一鍵安裝包工具
lnmp.org,根據自己的系統來選擇,里面有詳細的安裝教程,其它的根據自已的開發需要參加相關文檔安裝


Vagrant打包分發

上面的步驟做完后,你可以把你的成果分享出去。就會用到這個命令vagrant package
在打包之前要關掉虛擬機,用到這個命令 vagrant halt
上面的操作都是在 cmd切換到你的開發目錄后 執行的。
執行完vagrant package后,會在你的開發目錄里生成一個叫package.box的box鏡像文件。你把這個文件分享出去,別人就可以完成用到你搭建的開發環境了。


避免掉坑的地方

在啟動虛擬機的時候,可能會出現這個問題 vagrant was unable mont shared folders ,下面的提示


解決方法是在 cmd 中執行 vagrant plugin install vagrant-vbguest 這里根據網速可能要10幾分鐘,才能安裝完。安裝完后 執行 vagrant reload
還有一篇總結文章 vagrant 本地開發環境的一些坑

Vagrant常用命令

$ vagrant init # 初始化
$ vagrant up # 啟動虛擬機
$ vagrant halt # 關閉虛擬機
$ vagrant reload # 重啟虛擬機
$ vagrant ssh # SSH 至虛擬機
$ vagrant status # 查看虛擬機運行狀態
$ vagrant destroy # 銷毀當前虛擬機

更多詳情參考 Vgrant使用入門

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1,介紹Vagrant 我們做web開發的時候經常要安裝各種本地測試環境,比如apache,php,mysql,r...
    meng_philip123閱讀 2,542評論 0 12
  • Vagrant是什么 Vagrant是一個軟件,可以自動化虛擬機的安裝和配置流程。目前市面上個人PC的主流操作系統...
    北魏企鵝閱讀 30,064評論 3 40
  • Vagrant 是一款用來構建虛擬開發環境的工具,非常適合 php/python/ruby/java 這類語言開發...
    Qcrawler閱讀 2,218評論 1 5
  • 歸家,去上學,要上學了,叫做去。 離去。 細想來,回家的一個月都干了什么,仿佛回家的場景依然歷歷在目,一個月縱然不...
    聽雷雷說閱讀 185評論 0 1
  • 曝光之一~~在大數據和云計算下,我們每天都在裸奔。
    瘦人碗子閱讀 342評論 0 0