在Mac下使用Vagrant+VirtualBox構(gòu)建跨平臺開發(fā)環(huán)境

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/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子跷车,更是在濱河造成了極大的恐慌棘利,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件朽缴,死亡現(xiàn)場離奇詭異善玫,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)密强,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進(jìn)店門茅郎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人或渤,你說我怎么就攤上這事系冗。” “怎么了薪鹦?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵汰蓉,是天一觀的道長檩帐。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么疤估? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任窥摄,我火速辦了婚禮瑰艘,結(jié)果婚禮上窘行,老公的妹妹穿的比我還像新娘。我一直安慰自己端考,他們只是感情好雅潭,可當(dāng)我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著却特,像睡著了一般扶供。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上核偿,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天诚欠,我揣著相機(jī)與錄音,去河邊找鬼漾岳。 笑死轰绵,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的尼荆。 我是一名探鬼主播左腔,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼捅儒!你這毒婦竟也來了液样?” 一聲冷哼從身側(cè)響起振亮,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鞭莽,沒想到半個月后坊秸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡澎怒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年褒搔,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片喷面。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡星瘾,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出惧辈,到底是詐尸還是另有隱情琳状,我是刑警寧澤,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布盒齿,位于F島的核電站念逞,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏县昂。R本人自食惡果不足惜肮柜,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望倒彰。 院中可真熱鬧,春花似錦莱睁、人聲如沸待讳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽创淡。三九已至,卻和暖如春南吮,著一層夾襖步出監(jiān)牢的瞬間琳彩,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工部凑, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留露乏,地道東北人。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓涂邀,卻偏偏與公主長得像瘟仿,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子比勉,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,514評論 2 348

推薦閱讀更多精彩內(nèi)容