windows以及mac本地安裝homestead

Homestead Win

后盾人 www.houdunren.com 作者:向軍大叔

Laravel 致力于讓整個 PHP 開發(fā)體驗(yàn)變得愉快钱烟, 包括你的本地開發(fā)環(huán)境窥摄。 Vagrant 提供了一種簡單夭咬,優(yōu)雅的方式來管理和配置虛擬機(jī)恭取。
Laravel Homestead 是一個官方預(yù)封裝的 Vagrant box盹牧,它為你提供了一個完美的開發(fā)環(huán)境钞瀑,而無需在本地機(jī)器安裝 PHP 沈撞、Web 服務(wù)器和其他服務(wù)器軟件。不用擔(dān)心會搞亂你的操作系統(tǒng)雕什!Vagrant boxes 是一次性的缠俺。如果出現(xiàn)問題,你可以在幾分鐘內(nèi)銷毀并創(chuàng)建 Box!
Homestead 可以運(yùn)行在任何 Windows贷岸,Mac壹士,或 Linux 系統(tǒng),它包括了 Nginx web 服務(wù)器偿警, PHP 7.2躏救,PHP 7.1,PHP 7.0螟蒸,PHP 5.6盒使, MySQL,PostgreSQL七嫌,Redis少办,Memcached, Node诵原,以及開發(fā) Laravel 應(yīng)用程序所需要的東西英妓。

以下代碼都是在windows 使用 git for windows 命令行工具操作的

VirtualBox

https://www.virtualbox.org/
VirtualBox 是 Oracle 公司的開源虛擬機(jī)軟件。VirtualBox 號稱是最強(qiáng)的免費(fèi)虛擬機(jī)軟件皮假,它不僅功能齊全鞋拟,而且性能也很優(yōu)異!VirtualBox 支持大部分流行的系統(tǒng)惹资,如:Mac, Windows, Linux 等贺纲。

Vagrant

Vagrant by HashiCorp
Vagrant 是用來管理虛擬機(jī)的工具,支持當(dāng)前主流的虛擬機(jī)系統(tǒng)如 VirtualBox褪测、VMware猴誊、AWS 等。Vagrant 的主要作用是提供一個可配置侮措、可移植和復(fù)用的軟件環(huán)境懈叹。Vagrant 讓你通過編寫一個 Vagrantfile 文件來控制虛擬機(jī)的啟動、虛擬機(jī)網(wǎng)絡(luò)環(huán)境的配置分扎、虛擬機(jī)與主機(jī)間的文件共享澄成,以及啟動后自動執(zhí)行一些配置腳本,如自動執(zhí)行一個 Shell Script 來安裝一些必備的開發(fā)工具,如安裝配置MySQL墨状、PHP卫漫,甚至是自動配置 Nginx 站點(diǎn)。這意味著肾砂,在一個多人開發(fā)的項(xiàng)目中列赎,你只需要同步 Vagrantfile 文件,就可以保證參與項(xiàng)目的每個人各自的機(jī)器上擁有一致的開發(fā)環(huán)境镐确。
可以在下面網(wǎng)站上搜索需要的vagrant box
https://app.vagrantup.com/boxes/search

Homestead box

Homestead是一個官方預(yù)封裝的 Vagrant box包吝,它為你提供了一個完美的開發(fā)環(huán)境,而無需在本地機(jī)器安裝 PHP 源葫、Web 服務(wù)器和其他服務(wù)器軟件诗越。不用擔(dān)心會搞亂你的操作系統(tǒng)!Vagrant boxes 是一次性的臼氨。如果出現(xiàn)問題掺喻,你可以在幾分鐘內(nèi)銷毀并創(chuàng)建 Box!

內(nèi)置軟件:Ubuntu 16.04芭届、Git储矩、PHP 7.2、PHP 7.1褂乍、Nginx持隧、Apache (Optional)、MySQL ……

在線安裝 Homestead Vagrant Box逃片,這樣安裝下載會非常慢屡拨,可以使用第二種本地文件安裝方式

vagrant box add laravel/homestead

本地文件安裝
先下載離線 homestead.box https://pan.baidu.com/s/1-obdVwlryRdtVV-8-iD56A 然后執(zhí)行

vagrant box add laravel/homestead d:/code/homestead.box

安裝的box 鏡像儲存的位置:以我電腦為例在 ~/.vagrant.d/boxes

安裝 Homestead 管理腳本

#clone管理腳本
git clone https://github.com/laravel/homestead.git ~/Homestead
cd ~/Homestead

#因?yàn)閙aster不穩(wěn)定所以切到穩(wěn)定tag 
git checkout v7.3.0

#創(chuàng)建 Homestead.yaml 配置文件
./init.bat

如果是本地安裝的,那么 homestead.box 版本為0褥实,所以需要修改下面步驟生成的配置文件~/Homestead/scripts/homestead.rb (上一步安裝的homestead目錄里)以下內(nèi)容

config.vm.box_version = settings["version"] ||= ">= 0"

SSH 秘鑰登錄

生成 key

ssh-keygen -t rsa -C "2300071698@qq.com"
#后面一真按enter鍵呀狼,設(shè)置密碼

用于實(shí)現(xiàn) SSH 免密碼登錄
修改 Homestead.yaml 文件以下內(nèi)容:

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

配置共享文件夾

Homestead.yaml 文件的 folders 屬性里列出所有與 Homestead 環(huán)境共享的文件夾。這些文件夾中的文件若有變更损离,它們會保持本地機(jī)器與 Homestead 環(huán)境之間同步哥艇。你可以根據(jù)需要配置多個共享文件夾:

folders:
    - map: d:/code
      to: /home/vagrant/Code
# map 對應(yīng)的是我們本機(jī)的文件夾
* to 對應(yīng)的是 Homestead 上的文件夾

vagrant命令

#啟動 如果加上 --provision 選項(xiàng)那么添加的新站點(diǎn)會發(fā)布到虛擬機(jī)上。
cd ~/Homestead 
vagrant up
#關(guān)閉
vagrant halt
#通過 SSH 登錄 vagrant(需要先啟動 vagrant)
vagrant ssh
#查看目前安裝的box列表
vagrant box list
#刪除box鏡像
vagrant box remove laravel/homestead
#查看當(dāng)前 Homestead 虛擬機(jī)的狀態(tài)僻澎。
vagrant status

Win10安裝錯誤

執(zhí)行 vagrant up 開啟虛擬機(jī)出現(xiàn)以下錯誤

Timed out while waiting for the machine to boot. This means that
Vagrant was unable to communicate with the guest machine within
the configured ("config.vm.boot_timeout" value) time period.

If you look above, you should be able to see the error(s) that
Vagrant had when attempting to connect to the machine. These errors
are usually good hints as to what may be wrong.
...

進(jìn)入你的BIOS貌踏,然后將virtualization(CPU虛擬化)設(shè)置為enable即可

BIOS界面:Configuratio > Intel Virtual Technology > Enabled

通過 SSH 連接

這樣就可以登錄的 homestead 虛擬主機(jī)了,此地可以查看上面定義的本地目錄與虛擬機(jī)目錄同步的情況

vagrant ssh

數(shù)據(jù)庫

  • 要從主機(jī)的數(shù)據(jù)庫客戶端連接到 MySQL窟勃,就連接到 127.0.0.1和端口 33060 (MySQL) 祖乳。賬號密碼分別是 homestead/secret。
  • PHP程序連接(虛擬機(jī)中連接)端口為 3306

全局命令

Git for Windows環(huán)境中使用

如果我們想在任何目錄都可以執(zhí)行 vagrant 命令秉氧,需要進(jìn)行以下設(shè)置
修改 ~/.bash_profile 文件內(nèi)容眷昆,這種設(shè)置只在 git for windows 軟件中使用

function homestead() {
    ( cd ~/Homestead && vagrant $* )
}

這樣我們就可以使用 homestead up 等方式執(zhí)行了。

設(shè)置Windows全局命令

@echo off

set cwd=%cd%
set homesteadVagrant=C:\Users\xj\Homestead

cd /d %homesteadVagrant% && vagrant %*
cd /d %cwd%

set cwd=
set homesteadVagrant=

你需要將腳本中實(shí)例路徑 C:\Homestead 調(diào)整為 Homestead 實(shí)際安裝路徑。創(chuàng)建文件之后亚斋,添加文件路徑到 PATH垦藏,這樣你就可以在系統(tǒng)的任意位置運(yùn)行 homestead up 或 homestead ssh 命令了。

如果想讓計(jì)算機(jī)啟動時執(zhí)行 homestead 伞访,在開始菜單->所有程序->啟動 文件夾中設(shè)置 homestead.bat內(nèi)容如下掂骏。

homestead up

開機(jī)自啟

開始菜單>啟動 文件夾中創(chuàng)建 homestead.bat 文件內(nèi)容如下

homestead up

要在360或騰訊電腦管家中的啟動項(xiàng)中不要禁用。

響應(yīng)緩慢

解決WINDOS系統(tǒng)下Homestead運(yùn)行緩慢的問題

一定要先備份,下面的操作有沒有后遺癥,暫時不確定

首先厚掷,命令行進(jìn)入 Homestead 啟動 vagrant

> cd ~/Homestead && vagrant up

然后運(yùn)行安裝命令(如果下載失敗可能被墻了)

$ vagrant plugin install vagrant-winnfsd

修改文件1:homestead/scripts/homestead.rb

查找此段代碼(可能略有不同)弟灼,替換為以下內(nèi)容

if settings.include? 'folders'
  settings["folders"].sort! { |a,b| a["map"].length <=> b["map"].length }

  settings["folders"].each do |folder|
    config.vm.synced_folder folder["map"], folder["to"], 
    id: folder["map"],
    :nfs => true,
    :mount_options => ['nolock,vers=3,udp,noatime']
  end
end

文件2:Homestead.yaml

folders:
    - map: ~/Code
      to: /home/vagrant/Code
      type: nfs

重啟 Homestead 使配置文件生效,大功告成冒黑。

Homestead Mac

后盾人 wwwhoudunren.com 作者:向軍大叔

Laravel 致力于讓整個 PHP 開發(fā)體驗(yàn)變得愉快田绑, 包括你的本地開發(fā)環(huán)境。 Vagrant 提供了一種簡單抡爹,優(yōu)雅的方式來管理和配置虛擬機(jī)掩驱。
Laravel Homestead 是一個官方預(yù)封裝的 Vagrant box,它為你提供了一個完美的開發(fā)環(huán)境冬竟,而無需在本地機(jī)器安裝 PHP 欧穴、Web 服務(wù)器和其他服務(wù)器軟件。不用擔(dān)心會搞亂你的操作系統(tǒng)泵殴!Vagrant boxes 是一次性的涮帘。如果出現(xiàn)問題,你可以在幾分鐘內(nèi)銷毀并創(chuàng)建 Box!
Homestead 可以運(yùn)行在任何 Windows笑诅,Mac调缨,或 Linux 系統(tǒng),它包括了 Nginx web 服務(wù)器吆你, PHP 7.2弦叶,PHP 7.1,PHP 7.0妇多,PHP 5.6伤哺, MySQL,PostgreSQL砌梆,Redis默责,Memcached, Node咸包,以及開發(fā) Laravel 應(yīng)用程序所需要的東西桃序。

VirtualBox

https://www.virtualbox.org/
VirtualBox 是 Oracle 公司的開源虛擬機(jī)軟件。VirtualBox 號稱是最強(qiáng)的免費(fèi)虛擬機(jī)軟件烂瘫,它不僅功能齊全媒熊,而且性能也很優(yōu)異奇适!VirtualBox 支持大部分流行的系統(tǒng),如:Mac, Windows, Linux 等芦鳍。

Vagrant

Vagrant by HashiCorp
Vagrant 是用來管理虛擬機(jī)的工具嚷往,支持當(dāng)前主流的虛擬機(jī)系統(tǒng)如 VirtualBox、VMware柠衅、AWS 等皮仁。Vagrant 的主要作用是提供一個可配置、可移植和復(fù)用的軟件環(huán)境菲宴。Vagrant 讓你通過編寫一個 Vagrantfile 文件來控制虛擬機(jī)的啟動贷祈、虛擬機(jī)網(wǎng)絡(luò)環(huán)境的配置、虛擬機(jī)與主機(jī)間的文件共享喝峦,以及啟動后自動執(zhí)行一些配置腳本势誊,如自動執(zhí)行一個 Shell Script 來安裝一些必備的開發(fā)工具,如安裝配置MySQL谣蠢、PHP粟耻,甚至是自動配置 Nginx 站點(diǎn)。這意味著眉踱,在一個多人開發(fā)的項(xiàng)目中挤忙,你只需要同步 Vagrantfile 文件,就可以保證參與項(xiàng)目的每個人各自的機(jī)器上擁有一致的開發(fā)環(huán)境勋锤。
可以在下面網(wǎng)站上搜索需要的vagrant box
https://app.vagrantup.com/boxes/search

Homestead box

Homestead是一個官方預(yù)封裝的 Vagrant box饭玲,它為你提供了一個完美的開發(fā)環(huán)境,而無需在本地機(jī)器安裝 PHP 叁执、Web 服務(wù)器和其他服務(wù)器軟件。不用擔(dān)心會搞亂你的操作系統(tǒng)矮冬!Vagrant boxes 是一次性的谈宛。如果出現(xiàn)問題,你可以在幾分鐘內(nèi)銷毀并創(chuàng)建 Box!

內(nèi)置軟件:Ubuntu 16.04胎署、Git吆录、PHP 7.2、PHP 7.1琼牧、Nginx恢筝、Apache (Optional)、MySQL ……

在線安裝 Homestead Vagrant Box巨坊,這樣安裝下載會非常慢撬槽,可以使用第二種本地文件安裝方式

vagrant box add laravel/homestead

本地文件安裝
先下載 離線 homestead.box ,然后執(zhí)行

vagrant box add laravel/homestead ~/Desktop/homesteadvirtual5.2.box 

安裝 Homestead 管理腳本

#clone管理腳本
git clone https://github.com/laravel/homestead.git ~/Homestead
cd Homestead

#因?yàn)閙aster不穩(wěn)定所以切到穩(wěn)定tag 
git checkout v7.7.0

#創(chuàng)建 Homestead.yaml 配置文件
bash init.sh

如果是本地安裝的 homestead.box 版本為0趾撵,所以需要修改下面步驟生成的配置文件 /Users/xj/Homestead/scripts/homestead.rb 以下內(nèi)容

config.vm.box_version = settings["version"] ||= ">= 0"

安裝的box 鏡像儲存的位置:以我電腦為例在 /Users/xj/.vagrant.d/boxes

配置共享文件夾

Homestead.yaml 文件的 folders 屬性里列出所有與 Homestead 環(huán)境共享的文件夾侄柔。這些文件夾中的文件若有變更,它們會保持本地機(jī)器與 Homestead 環(huán)境之間同步。你可以根據(jù)需要配置多個共享文件夾:

folders:
    - map: ~/Code  
      to: /home/vagrant/Code
# map 對應(yīng)的是我們本機(jī)的文件夾
* to 對應(yīng)的是 Homestead 上的文件夾

SSH 秘鑰登錄

用于實(shí)現(xiàn) SSH 免密碼登錄
修改 Homestead.yaml 文件以下內(nèi)容:

keys:
    - ~/.ssh/id_rsa
    - ~/.ssh/id_rsa.pub

生成 key

ssh-keygen -t rsa -C "2300071698@qq.com"
#后面一真按enter鍵暂题,設(shè)置密碼

vagrant命令

#啟動 如果加上 --provision 選項(xiàng)那么添加的新站點(diǎn)會發(fā)布到虛擬機(jī)上移剪。
cd ~/Homestead && vagrant up
#關(guān)閉
vagrant halt
#通過 SSH 登錄 vagrant(需要先啟動 vagrant)
vagrant ssh
#查看目前安裝的box列表
vagrant box list
#刪除box鏡像
vagrant box remove laravel/homestead
#查看當(dāng)前 Homestead 虛擬機(jī)的狀態(tài)。
vagrant status

通過 SSH 連接

這樣就可以登錄的 homestead 虛擬主機(jī)了薪者,此地可以查看上面定義的本地目錄與虛擬機(jī)目錄同步的情況

vagrant ssh

數(shù)據(jù)庫

  • 要從主機(jī)的數(shù)據(jù)庫客戶端連接到 MySQL纵苛,就連接到 127.0.0.1和端口 33060 (MySQL) 。賬號密碼分別是 homestead/secret言津。
  • PHP程序連接(虛擬機(jī)中連接)端口為 3306

全局命令

如果我們想在任何目錄都可以執(zhí)行 vagrant 命令赶站,需要進(jìn)行以下設(shè)置
修改 ~/.bash_profile 文件,如果安裝了 zsh 需要修改 ~/.zshrc文件

function homestead() {
    ( cd ~/Homestead && vagrant $* )
}

這樣我們就可以使用 homestead up 等方式執(zhí)行了

?著作權(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)我...
    茶點(diǎn)故事閱讀 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
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡藕咏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年状知,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片孽查。...
    茶點(diǎn)故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡饥悴,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出盲再,到底是詐尸還是另有隱情西设,我是刑警寧澤,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布洲胖,位于F島的核電站济榨,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏绿映。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一腐晾、第九天 我趴在偏房一處隱蔽的房頂上張望叉弦。 院中可真熱鬧,春花似錦藻糖、人聲如沸淹冰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽樱拴。三九已至柠衍,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間晶乔,已是汗流浹背珍坊。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留正罢,地道東北人阵漏。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像翻具,于是被迫代替她去往敵國和親履怯。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,514評論 2 348

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

  • 簡介 Laravel 致力于讓你在 PHP 開發(fā)過程中更加輕松愉快裆泳,這其中也包括本地開發(fā)環(huán)境的搭建叹洲。 Vagran...
    曼巴童鞋閱讀 2,370評論 0 3
  • 話說作為laravel的開發(fā)者运提,你聽說Homestead應(yīng)該很久了,可是官方推薦的開發(fā)環(huán)境在國內(nèi)為什么鮮有人用帜篇?我...
    學(xué)著放下閱讀 48,023評論 48 76
  • 認(rèn)識Y姐確實(shí)是機(jī)緣巧合糙捺,不曾想過會有的相遇相識相交的人卻闖入我的生活,偶爾給我喂一些不燙舌的雞湯笙隙,縱使聯(lián)系不...
    三只水閱讀 909評論 0 7
  • 今天開啟了我們的哈爾濱之旅洪灯。 出發(fā)之前,孩子就開始各種想象竟痰。飛機(jī)快落地的時候签钩,孩子突然問我:“是不是我們一走出飛機(jī)...
    李艷Liz閱讀 346評論 1 2
  • 臺灣是個標(biāo)語地區(qū)。走上街坏快,看見“兩個孩子恰恰好”铅檩,上了天橋,讀到“迎頭趕上”莽鸿,經(jīng)過電線桿昧旨,瞄見“保密防諜,人人...
    切客鬧閱讀 202評論 0 0