laravel開發(fā)環(huán)境homestead搭建詳解
常見的幾種開發(fā)環(huán)境
Laravel的開發(fā)環(huán)境其實(shí)很多,因?yàn)樗旧砭褪荘HP,所以只要滿足版本的情況下,任何pHP環(huán)境他都能跑起來,比如說常見的wamp/mamp/phpstudy等集成化環(huán)境都是可以的,但是望侈,為了更好的減少錯(cuò)誤印蔬,更多的兼容,以后的上線環(huán)境脱衙,官方推薦了兩種開發(fā)環(huán)境侥猬,一種是homestead,另一種是Valet。第1種呢捐韩,Windows系統(tǒng)和mac系統(tǒng)退唠,都可以支持,第2種的專門就是為mac系統(tǒng)的用戶所提供的荤胁,總體感覺兩種環(huán)境都非常非常好用瞧预,今天我們就著重說一下第1種環(huán)境的搭建。
homestead環(huán)境for windows
Laravel 致力于讓整個(gè) PHP 開發(fā)體驗(yàn)變的更愉快仅政,包括你的本地開發(fā)環(huán)境垢油。 Vagrant 提供了一種簡單、優(yōu)雅的方式來管理和配置虛擬主機(jī)圆丹。
Laravel Homestead 是一個(gè)官方預(yù)封裝的 Vagrant box 滩愁,它為你提供了一個(gè)完美的開發(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ù)器蔑匣,PHP7.4、PHP 7.3棕诵、PHP 7.2裁良、PHP 7.1、MySQL校套、PostgreSQL价脾、Redis、Memcached笛匙、Node 以及你開發(fā) Laravel 所需要的東西侨把。
1. 安裝git
下載地址:這里附上2.25.1版本下載
也可到官方網(wǎng)站下載最新版:git官方
安裝好進(jìn)行備用。
2.安裝虛擬機(jī)管理軟件
在你啟動 Homestead 環(huán)境之前妹孙,你必須安裝 VirtualBox 6.x秋柄,VMWare,Parallels 或 Hyper-V 以及 Vagrant蠢正。以上所有軟件均針對不同的操作系統(tǒng)提供了易于使用的可視化安裝包骇笔。
我這里使用的是VirtualBox軟件,https://www.virtualbox.org/wiki/Downloads 是 Oracle 公司的開源虛擬機(jī)軟件嚣崭。VirtualBox 號稱是最強(qiáng)的免費(fèi)虛擬機(jī)軟件笨触,它不僅功能齊全,而且性能也很優(yōu)異雹舀!VirtualBox 支持大部分流行的系統(tǒng)芦劣,如:Mac, Windows, Linux 等。
下載地址:下載地址
選擇window hosts即可下載说榆,大小位100多MB虚吟,安裝完畢備用。
3. 安裝Vagrant(管理虛擬機(jī)的工具)
Vagrant by HashiCorp Vagrant 是用來管理虛擬機(jī)的工具签财,支持當(dāng)前主流的虛擬機(jī)系統(tǒng)如 VirtualBox稍味、VMware、AWS 等荠卷。Vagrant 的主要作用是提供一個(gè)可配置模庐、可移植和復(fù)用的軟件環(huán)境。Vagrant 讓你通過編寫一個(gè) Vagrantfile 文件來控制虛擬機(jī)的啟動油宜、虛擬機(jī)網(wǎng)絡(luò)環(huán)境的配置掂碱、虛擬機(jī)與主機(jī)間的文件共享怜姿,以及啟動后自動執(zhí)行一些配置腳本,如自動執(zhí)行一個(gè) Shell Script 來安裝一些必備的開發(fā)工具疼燥,如安裝配置MySQL沧卢、PHP,甚至是自動配置 Nginx 站點(diǎn)醉者。這意味著但狭,在一個(gè)多人開發(fā)的項(xiàng)目中,你只需要同步 Vagrantfile 文件撬即,就可以保證參與項(xiàng)目的每個(gè)人各自的機(jī)器上擁有一致的開發(fā)環(huán)境立磁。
下載地址:下載地址
大小200多MB
4.安裝Homestead box
第一種--在線安裝 Homestead Vagrant Box(不推薦)
這樣安裝下載會非常慢,我安裝了好多次都失敗了剥槐,可以使用第二種本地文件安裝方式
vagrant box add laravel/homestead
先打開git唱歧,然后打開~目錄
然后運(yùn)行上述命令
然后提示你選擇paralles還是virtualbox
選擇2,然后就會進(jìn)行在線安裝
第二種--本地文件安裝(推薦使用)
先下載離線 homestead.box ,大小1.25GB左右粒竖,這里附上下載地址:官方下載颅崩,官方頁面homestead,官方頁面,然后執(zhí)行如下命令
下載地址:下載地址
官方網(wǎng)址:官方網(wǎng)址
下載完成后放到本地目錄,這里我放到g盤homestead目錄下蕊苗。
然后在git中運(yùn)行命令:
vagrant box add laravel/homestead g:/homestead.box
注意更改路徑沿后。
等待安裝完畢,顯示如上圖則已安裝成功朽砰。
5. 安裝 Homestead 管理腳本
首先clone管理腳本
git clone https://github.com/laravel/homestead.git ~/Homestead
cd ~/Homestead
創(chuàng)建 Homestead.yaml 配置文件
./init.bat
如果是本地安裝的 homestead.box 版本為0尖滚,所以需要修改下面步驟生成的配置文件 /Users/xxxx/Homestead/scripts/homestead.rb 以下內(nèi)容
config.vm.box_version = settings["version"] ''= ">= 0"
6.配置同步文件夾
在~/Homestead目錄下Homestead.yaml文件進(jìn)行配置
folders:
- map: ~/code/code1
to: /home/vagrant/code1
- map: ~/code/code2
to: /home/vagrant/code2
這里就是把本地的文件同步到虛擬機(jī),這樣就能把源碼放到本地锅移,然后運(yùn)行虛擬機(jī)就能看到效果熔掺,非常的方便饱搏。
注意:
這里有誤區(qū)非剃,有的人會直接配置如下:
folders:
- map: ~/code
to: /home/vagrant
這樣是無法同步成功的。
不能直接同步到vagrant里推沸,要同步到vagrant的子目錄中备绽。
7.配置SSH 秘鑰登錄
用于實(shí)現(xiàn) SSH 免密碼登錄 修改 Homestead.yaml 文件以下內(nèi)容:
keys:
- ~/.ssh/id_rsa
- ~/.ssh/id_rsa.pub
生成 key
使用命令
ssh-keygen -t rsa -C "xxxxxx@qq.com"
#后面一真按enter鍵,設(shè)置密碼
8.連接數(shù)據(jù)庫
homestead 默認(rèn)已經(jīng)在虛擬機(jī)中為 MySQL 和 PostgreSQL 數(shù)據(jù)庫做好了配置鬓催。要從主機(jī)的數(shù)據(jù)庫客戶端連接到 MySQL 或 PostgreSQL 肺素,應(yīng)該連接到 127.0.0.1 ,端口 33060 (MySQL) 或 54320 (PostgreSQL)宇驾。用戶名和密碼分別是 homestead / secret 倍靡。
注意:只有從本地連接 Homestead 的數(shù)據(jù)庫時(shí)才能使用這些非標(biāo)準(zhǔn)的端口。而 Laravel 在虛擬機(jī)中 運(yùn)行時(shí)還是應(yīng)該使用默認(rèn)的 3306 和 5432 端口進(jìn)行數(shù)據(jù)庫連接课舍。
9.配置臨時(shí)站點(diǎn)(域名)
一旦你的 Homestead 環(huán)境已配置并運(yùn)行塌西,你可以為你的 Laravel 應(yīng)用添加額外的 Nginx 站點(diǎn)他挎。你可能希望在單個(gè) Homestead 環(huán)境運(yùn)行多個(gè) Laravel 安裝。要添加額外的站點(diǎn)捡需,到 Homestead.yaml 文件中添加站點(diǎn):
sites:
- map: homestead.test
to: /home/vagrant/code1/public
- map: homestead2.test
to: /home/vagrant/code2/public
這時(shí)候办桨,還需要你把本機(jī)的hosts文件添加如下兩條
192.168.10.10 homestead.test
192.168.10.10 homestead2.test
10.配置全局命令
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í)行了呢撞。
11.常用命令
以下這些都是常用命令,如果已經(jīng)配置全局饰剥,命令殊霞,可以不進(jìn)入homestead文件夾內(nèi)操作,所有命令vagrant換成homestead即可捐川。
啟動
cd ~/Homestead && vagrant up
改動配置脓鹃,重載配置
vagrant reload --provision
關(guān)閉
vagrant halt
通過 SSH 登錄 vagrant(需要先啟動 vagrant)
vagrant ssh
查看目前安裝的box列表
vagrant box list
刪除box鏡像
vagrant box remove laravel/homestead
刪除指定版本
vagrant box remove laravel/homestead --box-version 6.4.0
查看當(dāng)前 Homestead 虛擬機(jī)的狀態(tài)。
vagrant status
完成以上操作古沥,基本滿足開發(fā)需求瘸右,更多內(nèi)容,請前往官網(wǎng)自行探求岩齿。