對于新的系統Mac/Linux/Windows
來說,裝開發環境是一件很痛苦的事,要根據不同的系統裝不同的環境,非常凌亂。偶然聽說有Vagrant
,它可以通過VirtualBox
來封裝一個linux環境, 我們只需要在本地進行開發,代碼就可以同步到環境中,非常方便。
安裝##
只需要裝兩個:
`VirtualBox` : https://www.virtualbox.org/wiki/Downloads
`Vagrant` : http://downloads.vagrantup.com/
完成之后,可以通過vagrant box add [box_name]
自動下載相關的box
鏡像,添加到vagrant
中去。如果網速比較慢的話,可以通過url去下載相應的box
文件,然后通過vagrant box add [box_name] [file]
,box_name
可以自定義。
相關的box列表
初始化環境
安裝完之后可以通過 `vagrant box list` 查看所有的`box`。
~ >vagrant box list
laravel (virtualbox, 0) #有個name為laravel的環境
現在可以創建開發目錄
mkdir ~/code #新建開發目錄
vagrant init laravel #相關環境的初始化,會生成`Vagrantfile`的配置文件
vagrant up #開啟環境,如果每次修改配置文件后,可以通過vagrant reload 重置環境
完成之后,如果不做配置修改,默認的開發目錄就對應linux的/vargrant
目錄,linux環境就已經搭建好了,可以通過 vagrant ssh
直接連接到環境
Vagrantfile文件配置
Vagrant.configure("2") do |config|
#目前大多數都是版本2的配置
end
所對應的box名稱,如果沒有,則默認為base
config.vm.box = "laravel"
config.vm.host_name = "lln" ##主機名
網絡的配置,本地的8080端口對應虛擬機的80端口,可以通過localhost:8080
訪問
config.vm.network :forwarded_port, guest: 80, host: 8080
config.vm.network :private_network, ip: "192.168.50.4" #通過固定的ip去訪問,也可以通過本地域名綁定到這個ip
文件的同步,默認為本地的開發目錄到 /vagrant
config.vm.synced_folder "code/", "/home/lln/code" #第一個為本地目錄,第二個為虛擬機的掛載目錄,會同步
修改完成之后可以隨時vagrant reload
重載配置
ps:有些環境可能nginx
需要自己配置一下.