好幾個月前就安裝了laravel,但是一直沒有真正用起來,因為沒有配置的vagrant和一個普通的虛擬機是沒有什么區別的,如果打開virtual box,會發現其實里面就是跑着一個虛擬機而已。
vagrant的強大在於是一個鏡像,配置完以后鏡像可以放到任何地方去,真正做到了一勞永逸了。
總結一下自己使用vagrant的一點筆記,以免以后忘記還得再去翻官方文檔。
vagrant的官方網站:http://www.vagrantup.com/ 現在又改版了,挺漂亮的。
vagrant的一些鏡像:http://www.vagrantbox.es/ 各種linux都有。
安裝就不廢話了,裝上以后,在windows下需要配一下環境變量,把vagrant的bin目錄放到環境變量里。
然后按照官方說的,執行這三部,然后一個虛擬機就起來了。
$ vagrant box add base http://files.vagrantup.com/lucid32.box 增加一個box,lucid32就是個ubuntu的virtualbox鏡像 $ vagrant init #初始化 $ vagrant up #這個是真正的啟動
虛擬機啟動起來以后,就可以連接ssh了,虛擬機的22端口默認映射到了本機的2222端口,默認的用戶名和密碼都是vagrant,用ssh連上以后,初始化階段基本就完成了。
記一下vagrant的一些常用命令。
vagrant up #開機
vagrant halt #關機
vagrant reload #重新啟動,主要用於重新載入配置文件
關於vagrant的配置文件vagrantfile,vagrantfile在vagrant目錄里面。配置基礎開發環境主要是兩個方面,一個是config.vm.forward_port選項,主要用於端口映射,初始的映射了22到本機的2222端口,我們可以把虛擬機的80端口映射到本機的4470上,然后再虛擬機里配好環境(例如lnmp)以后訪問127.0.0.1:4470就是訪問虛擬機的80了,非常方便。
config.vm.forward_port 8080, 4470 config.vm.forward_port 80, 4471 config.vm.forward_port 3306, 3307
還有一個就是配置一下共享目錄,做到本機開發,虛擬機測試。
# Share an additional folder to the guest VM. The first argument is # an identifier, the second is the path on the guest to mount the # folder, and the third is the path on the host to the actual folder. config.vm.share_folder "v-data", "/data", "data" #把這一行的注釋去掉,如上所說,第一個是個標志,第二個是你虛擬機里掛載的目錄,第三個就是物理機的目錄了,這個目錄是777的,可以隨意修改刪除,所有操作在虛擬機和本機都是同步的。