Win10下使用Vagrant+Homestead搭建Laravel的開發(fā)環(huán)境

windows 10
Homestead 5.4
Vagrant 2.1
box 2.1.0
vbox

Vagrant是一款基于Virtual Box的虛擬機環(huán)境檐涝,可以安裝多種Box(即預(yù)先配置好的開發(fā)環(huán)境)吵瞻,達(dá)到多種開發(fā)環(huán)境可以快速切換并且不需要擔(dān)心Package Dependencies墅垮。

Homestead 是一個基于 Ubuntu 構(gòu)建的虛擬機氨肌,它包含了所有 Laravel 開發(fā)時需要用到的東西开泽,你可以很輕松的通過指定的 Laravel 版本來找到相對應(yīng)版本并進行安裝。

如今二者經(jīng)常用于laravel的開發(fā)環(huán)境快速搭建

1. Git

首先再windows上下載git口四,并且再安裝時勾選git-bash就好了

2. Vagrant

Vagrant的下載地址:https://www.vagrantup.com/downloads.html

image.png

選擇Windows版本進行下載并安裝孵运。

3. Virtual Box

Virtual Box的下載地址:https://www.virtualbox.org/wiki/Downloads

virtual box download

請選擇高亮的鏈接下載Windows版本并安裝。

4.添加box

運行以下語句下載最新版本

vagrant box add laravel/homestead
image.png

運行后輸入2回車蔓彩,選擇virtualbox

之后復(fù)制 box: Downloading:之后的鏈接去迅雷去下載
https://atlas.hashicorp.com/laravel/boxes/homestead/versions/2.1.0/providers/virtualbox.box

這里要注意一點就是版本的問題掐松,以上的鏈接版本是2.1.0是目前最新版本踱侣,如因特殊原因需指定版本則輸入

vagrant box add laravel/homestead --box-version= xxx(此處為版本號)

版本具體可以去官網(wǎng)查詢

https://atlas.hashicorp.com/laravel/boxes/homestead

下載好了之后粪小,將下載好的文件名重命名為homestead.box(前綴不重要大磺,但是一定要加上.box后綴),然后運行

 vagrant box add laravel/homestead file:///c:/users/Administrator/downloads/homestead.box

注意自己的文件下載路徑探膊,完成之后你會發(fā)現(xiàn)自己的用戶文件夾里多出了一個.vagrant.d的文件夾(C:\Users\Administrator.vagrant.d)杠愧,我們打開這個文件夾,進入該路徑C:\Users\Administrator.vagrant.d\boxes\laravel-VAGRANTSLASH-homestead逞壁,在該文件夾下新建一個叫metadata_url的文件:

image.png

在文件中添加內(nèi)容

https://atlas.hashicorp.com/laravel/homestead
image.png

注意流济,不要留任何空白字符,保存文件腌闯。

完成之后绳瘟,我們就可以開始配置Homestead了。

5.Homestead 安裝和配置

git clone https://github.com/laravel/homestead.git ~/Homestead
image.png

下載好了Homestead之后姿骏,用腳本生成 Homestead.yaml 文件:

# 先cd到剛才下載的Homestead文件夾
$ cd ~/Homestead

# 開始初始化Homestead
$ bash init.sh

然后在~/Homestead文件夾中糖声,我們可以看到多出了一個叫Homestead.yaml的文件,用編輯器打開對其進行配置:

---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

# folders 來指明本機要映射到 Homestead 虛擬機上的文件夾分瘦。
# map 是本機的文件夾蘸泻,to 則對應(yīng)的是 Homestead 上的文件夾。
folders:
    - map: ~/Code
      to: /home/vagrant/Code

#sites屬性你可以方便地將“域名”映射到 Homestead 虛擬機的指定目錄
#map 是域名嘲玫,to 則對應(yīng)的是 Homestead 上的網(wǎng)站目錄悦施,注意這里L(fēng)aravel是我們的項目。
sites:
    - map: homestead.app
      to: /home/vagrant/Code/Laravel/public

databases:
    - homestead

# blackfire:
#     - id: foo
#       token: bar
#       client-id: foo
#       client-token: bar

# ports:
#     - send: 50000
#       to: 5000
#     - send: 7777
#       to: 777
#       protocol: udp

首先我們需要建立SSH Key并且填入路徑去团。在Git Bash中抡诞,輸入:

ssh-keygen -t rsa

一路回車就好了,完成后土陪,我們會在用戶根目錄下看到一個.ssh文件夾昼汗,里面分別有

id_rsa.pub
id_rsa

兩個文件,分別對應(yīng)配置文件中

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rs

其他基本配置默認(rèn)就好旺坠,如果有需要改動folders和sites則手動改就好了乔遮,這里要說的就是folders的配置,由于一開始沒創(chuàng)建Code所以本機和Homestead的Code沒能同步取刃,后來創(chuàng)建了后就可以了蹋肮,看其他人貌似沒這個問題,所以為了謹(jǐn)慎起見還是創(chuàng)建了璧疗,所以我們在用戶根目錄下創(chuàng)建Code(根據(jù)配置文件中的文件名)

image.png

最后在hosts文件末尾添加

192.168.10.10 homestead.app

6.啟動

首次配置完Homestead.yaml 時坯辩,需要運行vagrant provision去運行folder和site的映射
然后再運行vagrant up

在git-bash中輸入

cd ~/Homestead

vagrant provision

vagrant up
image.png

運行成功后,通過 SSH 來登錄 Homestead輸入

vagrant ssh

成功登陸Homestead

image.png

進入之后我們到/home/vagrant/Code文件中創(chuàng)建項目

# cd進入我們共享的文件夾
$ cd /home/vagrant/Code

#將composer改成中國鏡像
$ composer config -g repo.packagist composer https://packagist.phpcomposer.com

# 創(chuàng)建一個新的laravel項目崩侠,注意這里的項目名稱要和Homestead.yaml配置文件中的sites的to的項目一樣漆魔,否則可能出現(xiàn)訪問網(wǎng)站時輸出No input file specified,原因就是nginx的找不到該項目
$ laravel new Laravel

完成后直接訪問就可以了

http://homestead.app/

image.png

最后嘗試退出虛擬機,并關(guān)閉Vagrant

$ exit
image.png

7.連接sql

Vagrant + Homestead 下的 MySql 默認(rèn)帳號和密碼

用戶名:homestead
密碼:secret
命令行登陸:$ mysql -uhomestead -psecret

8.重啟服務(wù)密碼

重啟如果提示需要密碼改抡,一般密碼是都是 vagrant

9.homestead添加多個域名

在homestead.yaml中的sites添加

sites:
    - map: homestead.app
      to: /home/vagrant/Code/Laravel/public
   #第二個域名
    - map: test.app
      to: /home/vagrant/Code/test/public

然后再去hosts文件中添加dns

192.168.10.10 homestead.app
192.168.10.10 test.app

然后到打開git-bash到命令行執(zhí)行

#重啟項目
 vagrant reload --provision

#執(zhí)行完畢后在啟動
 vagrant up

#到Code下再新建剛剛對應(yīng)的項目就ok了
$ cd ~/Code 
$ laravel new test

完成后就可以訪問不同的站點了

image.png
image.png

還有一種方法實在虛擬機中已經(jīng)新建了個項目的話矢炼,那么就直接再虛擬機中用命令配置

#假設(shè)進入了虛擬機新建了一個項目
vagrant up
$laravel new newProject

#用命令添加站點
$serve newproject.dev home/vagrant/Code/newProject/public

最后也是再hosts添加對應(yīng)的域名就行了

vagrant 常用命令

vagrant --help
vagrant up
vagrant halt//優(yōu)雅關(guān)閉Homestead
vagrant boxlist
vagrant boxremove '盒子名稱'//從vagrant中去除添加的盒子
vagrant --reload//重新加載配置

參考鏈接:
http://blog.csdn.net/lgyaxx/article/details/60870819
http://www.seekjune.com/post/171

遇到的問題

  1. The SSH command responded with a non-zero exit status. Vagrant
    assumes that this means the command failed. The output for this command
    should be in the log above. Please read the output to determine what
    went wrong.

解決方法:需要關(guān)閉虛擬機 vagrant halt ,然后執(zhí)行 vagrant reload 就可以進去了

  1. laravel No input file specified.

解決方法:Homestead.yaml 配置有問題阿纤,看看名字有沒有打錯

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末句灌,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子欠拾,更是在濱河造成了極大的恐慌胰锌,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件藐窄,死亡現(xiàn)場離奇詭異资昧,居然都是意外死亡,警方通過查閱死者的電腦和手機荆忍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門格带,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人东揣,你說我怎么就攤上這事践惑。” “怎么了嘶卧?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵尔觉,是天一觀的道長。 經(jīng)常有香客問我芥吟,道長侦铜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任钟鸵,我火速辦了婚禮钉稍,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘棺耍。我一直安慰自己贡未,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布蒙袍。 她就那樣靜靜地躺著俊卤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪害幅。 梳的紋絲不亂的頭發(fā)上消恍,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天,我揣著相機與錄音以现,去河邊找鬼狠怨。 笑死约啊,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的佣赖。 我是一名探鬼主播恰矩,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼茵汰!你這毒婦竟也來了枢里?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤蹂午,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后彬碱,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體豆胸,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年巷疼,在試婚紗的時候發(fā)現(xiàn)自己被綠了晚胡。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡嚼沿,死狀恐怖估盘,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情骡尽,我是刑警寧澤遣妥,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站攀细,受9級特大地震影響箫踩,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜谭贪,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一境钟、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧俭识,春花似錦慨削、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至凑阶,卻和暖如春猿规,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背宙橱。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工姨俩, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蘸拔,地道東北人。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓环葵,卻偏偏與公主長得像调窍,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子张遭,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,916評論 2 344

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

  • 簡介 Laravel 致力于讓你在 PHP 開發(fā)過程中更加輕松愉快邓萨,這其中也包括本地開發(fā)環(huán)境的搭建。 Vagran...
    曼巴童鞋閱讀 2,366評論 0 3
  • 對思維導(dǎo)圖的探索菊卷、理解及運用缔恳,讓我更加自信,意識到原來生活是如此的美好洁闰。對生命的熱愛歉甚,使我不斷的思考“怎樣擁...
    swdtxh閱讀 3,097評論 0 6
  • 飲人前纸泄,騷人后。 一 頻上熱搜的情侶闞清子與紀(jì)凌塵宣布分手腰素,有了引起爭議的“你喜歡大海聘裁,我愛過你”; 被傳出軌的張...
    飲騷青年閱讀 4,893評論 6 36
  • 初秋的下午弓千,酷熱仍未去除衡便,艷陽高照,高溫悶熱计呈,讓人透不過氣來砰诵。應(yīng)飯坡鎮(zhèn)黨委、政府的邀請捌显,掃花網(wǎng)組織文學(xué)采風(fēng)團采風(fēng)茁彭,...
    qqw1閱讀 242評論 0 0
  • 銀行不會抵押快樂,報紙從不書寫藝術(shù)扶歪,嘲笑需要付費理肺,歡笑永遠(yuǎn)廉價,愛情可以跨越階級善镰。無論你是滿臉須發(fā)的靈魂歌...
    南山有白頭閱讀 554評論 0 0