1鳞溉、下載瘾带、安裝VirtualBox
官方下載點這里
2、下載熟菲、安裝Vagrant
官方下載點這里
3看政、下載系統(tǒng)box文件
官方系統(tǒng)box文件
4、先將box文件添加進(jìn)Vagrant
#title是自己起的名字
#url是自己在第三步下載的box文件路徑
vagrant box add {title} {url}
5抄罕、初始化Vagrant
#新建目錄
mkdir vagrant_project
#打開此目錄
cd vagrant_project
#初始化允蚣,title為你上方設(shè)置的title
vagrant init {title}
6、從Vagrant啟動VirtualBox虛擬機(jī)
vagrant up
出現(xiàn)以下代碼則啟動成功
==> default: Forwarding ports...
default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
default: Warning: Connection reset. Retrying...
==> default: Machine booted and ready!
[default] GuestAdditions 6.1.4 running --- OK.
到此結(jié)束虛擬機(jī)就算啟動成功了呆贿。但是還不能真正的進(jìn)入開發(fā)步驟
下面講解其他問題
1嚷兔、ssh登陸問題
剛剛啟動好虛擬機(jī)森渐,這個時候還不能使用上面的ip和端口號進(jìn)行ssh賬號密碼宿主登陸。
需要更改ssh登陸權(quán)限(此處需要切換為root用戶)
#使用Vagrant的ssh命令登陸
vagrant ssh
#先更改root賬戶密碼冒晰,根據(jù)提示需要輸入兩次密碼
sudo passwd root
#切換為root賬戶(需要輸入上一步中修改的root密碼)
sudo -i
#使用vi編輯器打開 /etc/ssh/sshd_config 配置文件進(jìn)行修改同衣。
vi /etc/ssh/sshd_config
需要更改如下配置
PasswordAuthentication yes
PermitRootLogin yes
#這里簡單講解vi編輯器的一些操作
#先按鍵盤的 i 鍵進(jìn)入編輯模式,修改完成以后需要按 esc 按鍵退出編輯模式
#然后輸入 :wq 就可以退出并保存了
# 需要重新載入配置
service sshd restart
然后需要使用命令退出ssh模式
logout
這個時候就可以使用賬號密碼進(jìn)行ssh登陸了
賬號:root
密碼:(為上面所修改的root密碼)
2壶运、網(wǎng)絡(luò)問題(需要修改第五步的時候選擇的文件夾內(nèi)的Vagrantfile配置文件)
- Forwarded port(端口映射)
是指將宿主計算機(jī)的端口映射到虛擬機(jī)上的某個端口上耐齐,訪問宿主計算機(jī)的該端口時,請求實際會被轉(zhuǎn)發(fā)到虛擬機(jī)上指定的端口蒋情,配置文件設(shè)置語法為:
config.vm.network :forwarded_port, guest: 80, host: 8889
優(yōu)點:簡單埠况、容易理解、容易實現(xiàn)外網(wǎng)訪問虛擬機(jī)恕出。
缺點:需映射很多端口時較麻煩询枚、不支持在宿主機(jī)器上使用小于1024的端口來轉(zhuǎn)發(fā)(如:不能使用SSL的443端口來進(jìn)行https連接)。
- Public network(公有網(wǎng)絡(luò))
這種配置下浙巫,虛擬機(jī)享受實體機(jī)一樣的待遇,一樣的網(wǎng)絡(luò)配置刷后,vagrant 1.3版本以后這種配置也支持設(shè)定固定IP的畴。
config.vm.network "private_network", ip: "192.168.50.4" # 固定IP
還可以設(shè)置動態(tài)IP,配置語法如下:
config.vm.network "private_network", type: "dhcp"
優(yōu)點:安全尝胆,只能自己訪問丧裁。
缺點:因私有原有,所以其他團(tuán)隊成員不能和你協(xié)作含衔。
- Public network(公有網(wǎng)絡(luò))
這種配置下煎娇,虛擬機(jī)享受實體機(jī)一樣的待遇,一樣的網(wǎng)絡(luò)配置贪染,vagrant 1.3版本以后這種配置也支持設(shè)定固定IP,配置語法如下:
config.vm.network "public_network", ip: "192.168.50.4"
還可以設(shè)置橋接網(wǎng)卡缓呛,配置語法如下:
config.vm.network "public_network", bridge: "en1: Wi-Fi (AirPort)"
優(yōu)點:方便團(tuán)隊協(xié)作,別人可以訪問你的虛擬機(jī)杭隙。
缺點:需要有網(wǎng)絡(luò)哟绊,有路由器分配IP
3、共享目錄
有時候痰憎,我們希望虛擬機(jī)能和我們的主機(jī)共享一些文件夾票髓,這時候在vagrant的配置文件中進(jìn)行配置來達(dá)到共享目錄的目的。
? vagrant的共享目錄類型有:
- 配置語法:(具體這里可以百度铣耘。有更為詳細(xì)的介紹)
config.vm.synced_folder "/hostPath", "/www/wwwroot", owner:"www", group:"www", create:true
設(shè)置完成以后需要重啟虛擬機(jī)洽沟,但是啟動的時候可能會報錯,無法掛載磁盤蜗细。使用以下命令
#添加vagrant插件就可以解決無法掛載的問題裆操。
vagrant plugin install vagrant-vbguest
附上vagrant的命令
#--列出本地環(huán)境中所有的box
vagrant box list
#--添加box到本地vagrant環(huán)境
vagrant box add box-name(box-url)
#--更新本地環(huán)境中指定的box
vagrant box update box-name
#--刪除本地環(huán)境中指定的box
vagrant box remove box-name
#--重新打包本地環(huán)境中指定的box
vagrant box repackage box-name
#--啟動虛擬機(jī)
vagrant up
#--關(guān)機(jī)
vagrant halt
#--銷毀虛擬機(jī)
vagrant destroy
#--虛擬機(jī)重啟
vagrant reload
Vagrant官方文檔地址:https://www.vagrantup.com/docs/