99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

開(kāi)始 ―― Laravel Homestead

2018-02-24 15:38 更新

開(kāi)始 —— Laravel Homestead

1、簡(jiǎn)介

Laravel致力于將整個(gè)PHP開(kāi)發(fā)體驗(yàn)變得讓人愉悅,包括本地開(kāi)發(fā)環(huán)境。

Vagrant提供了一個(gè)便捷的方式來(lái)管理和設(shè)置虛擬機(jī)盒子,該盒子提供了一流的開(kāi)發(fā)環(huán)境,有了它,我們不再需要在本地環(huán)境安裝PHP、HHVM、web服務(wù)器以及其它服務(wù)器軟件,我們也完全不用再擔(dān)心誤操作搞亂操作系統(tǒng)——因?yàn)閂agrant盒子是一次性的,如果出現(xiàn)錯(cuò)誤,可以在數(shù)分鐘內(nèi)銷(xiāo)毀并重新創(chuàng)建該Vagrant盒子!

Homestead可以運(yùn)行在Windows、Mac以及Linux系統(tǒng)上,其中已經(jīng)安裝好了Nginx、PHP5.6、MySQL、Postgres、Redis、Memcached、Node以及很多其它開(kāi)發(fā)牛逼Laravel應(yīng)用所需要的東西。

注意:如果你使用的是Windows,需要開(kāi)啟系統(tǒng)的硬件虛擬化(VT-x),這通??梢酝ㄟ^(guò)BIOS來(lái)開(kāi)啟。

Homestead目前基于Vagrant 1.7進(jìn)行構(gòu)建和測(cè)試。

1.1 包含軟件

  • Ubuntu 14.04
  • PHP 5.6 / PHP 7.0
  • HHVM
  • Nginx
  • MySQL
  • Postgres
  • Node (With PM2, Bower, Grunt, and Gulp)
  • Redis
  • Memcached(只支持PHP 5.x)
  • Beanstalkd
  • Laravel Envoy
  • Blackfire Profiler

2、安裝 & 設(shè)置

2.1 首次安裝

在啟用Homestead環(huán)境之前,需要先安裝Virtual Box或者VMWareVagrant,所有這些軟件包都會(huì)常用操作系統(tǒng)提供了一個(gè)便于使用的可視化安裝器。

2.1.1 安裝Homestead Vagrant 盒子

VirtualBox/VMWare和Vagrant安裝好了之后,在終端中使用能如下命令將laravel/homesterad添加到vagrant安裝中。這將會(huì)花費(fèi)一些時(shí)間下載該盒子,時(shí)間長(zhǎng)短主要取決于你的網(wǎng)絡(luò)連接速度:

vagrant box add laravel/homestead

如果上述命令執(zhí)行失敗,可以使用vagrant老版本的方式,這需要輸入完整的URL:

vagrant box add laravel/homestead https://atlas.hashicorp.com/laravel/boxes/homestead

2.1.2 克隆已有的Homestead倉(cāng)庫(kù)

你還可以通過(guò)簡(jiǎn)單克隆倉(cāng)庫(kù)代碼來(lái)實(shí)現(xiàn)Homestead安裝,考慮到克隆倉(cāng)庫(kù)到home目錄下的Homestead文件夾,Homestead盒子將會(huì)作為所有其他Laravel項(xiàng)目的主機(jī):

git clone https://github.com/laravel/homestead.git Homestead

克隆完成后,在Homestead目錄下運(yùn)行?bash init.sh?命令來(lái)創(chuàng)建Homestead.yaml配置文件,Homestead.yaml配置文件文件位于?~/.homestead目錄:

bash init.sh

2.1.3 升級(jí)到PHP 7.0

如果你已經(jīng)在使用PHP 5.x版的Homestead盒子,可以輕松升級(jí)安裝到PHP 7.0。首先,克隆laravel/homesteadphp-7分支到一個(gè)新的文件夾:

git clone -b php-7 https://github.com/laravel/homestead.git Homestead

不需要運(yùn)行init.sh腳本來(lái)覆蓋整個(gè)Homestead.yaml文件,你只需要簡(jiǎn)單添加該盒子到已存在的Homestead.yaml文件頂部即可:

box: laravel/homestead-7

接下來(lái),從包含克隆laravel/homestead倉(cāng)庫(kù)的目錄運(yùn)行vagrant up命令即可。

2.2 配置Homestead

2.2.1 設(shè)置Provider

Homestead.yaml文件中的provider鍵表示哪個(gè)Vagrant提供者將會(huì)被使用:virtualbox、vmware_fushion,還是vmware_workstation,你可以將其設(shè)置為自己喜歡的提供者:

provider: virtualbox

2.2.2 設(shè)置SSH key

Homestead.yaml文件中還要配置公共SSH key的路徑,如果沒(méi)有SSH key,那么在Mac或Linux上,可以通過(guò)如下命令來(lái)生成:

ssh-keygen -t rsa -C "you@homestead"

在Windows上,可以安裝Git然后使用Git自帶的“Git Bash”來(lái)執(zhí)行上述命令。除此之外,你還可以使用PUTTYPUTTYgen工具來(lái)生成SSH key。

2.2.3 配置共享文件夾

Homestead.yaml文件中的folders選項(xiàng)列出了所有你想要和Homestead環(huán)境進(jìn)行共享的目錄,一旦這些目錄中的文件有了修改,將會(huì)在本地和Homestead環(huán)境中保持同步,如果有需要的話,你可以配置盡可能多的共享目錄:

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

如果想要開(kāi)啟NFS,只需簡(jiǎn)單添加一個(gè)標(biāo)識(shí)到同步文件夾配置:

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

2.2.4 配置Nginx站點(diǎn)

對(duì)Nginx不熟?沒(méi)問(wèn)題,sites選項(xiàng)允許你方便的匹配“域名”到Homestead環(huán)境的某個(gè)目錄,一個(gè)示例站點(diǎn)配置已經(jīng)包含到Homestead.yaml文件。跟共享文件夾一樣,你可以想配置多少個(gè)站點(diǎn)就配置多少個(gè)。Homestead可以為你的每個(gè)Laravel項(xiàng)目充當(dāng)方便的、虛擬化的開(kāi)發(fā)環(huán)境:

sites:
    - map: homestead.app
      to: /home/vagrant/Code/Laravel/public

你可以通過(guò)設(shè)置hhvmtrue讓所有的Homestead站點(diǎn)使用HHVM

sites:
    - map: homestead.app
      to: /home/vagrant/Code/Laravel/public
      hhvm: true

默認(rèn)情況下,每個(gè)站點(diǎn)都可以通過(guò)HTTP(端口號(hào):8000)和HTTPS(端口號(hào):44300)進(jìn)行訪問(wèn)。

2.2.5 Hosts文件

不要忘記把Nginx站點(diǎn)中的域名添加到本地機(jī)器上的hosts文件,該文件會(huì)將對(duì)本地域名的請(qǐng)求重定向到Homestead環(huán)境,在Mac或Linux上,該文件位于/etc/hosts,在Windows上,位于C:\Windows\System32\drivers\etc\hosts,添加方式如下:

192.168.10.10  homestead.app

確保IP地址和你的Homestead.yaml文件中列出的一致,一旦你將域名放置到hosts文件,就可以在瀏覽器中通過(guò)該域名訪問(wèn)站點(diǎn)了!

http://homestead.app

2.3 啟動(dòng)Vagrant Box

編輯好Homestead.yaml文件后,在Homestead目錄下運(yùn)行vagrant up命令,vagrant將會(huì)啟動(dòng)虛擬機(jī)并自動(dòng)配置共享文件夾以及Nginx站點(diǎn)。

銷(xiāo)毀該機(jī)器,可以使用vagrant destroy?--force

2.4 為指定項(xiàng)目安裝Homestead

全局安裝Homestead將會(huì)使每個(gè)項(xiàng)目共享同一個(gè)Homestead盒子,你還可以為每個(gè)項(xiàng)目單獨(dú)安裝Homestead,這樣就會(huì)在該項(xiàng)目下創(chuàng)建Vagrantfile,允許其他人在該項(xiàng)目中執(zhí)行vagrant up命令,在指定項(xiàng)目根目錄下使用Composer執(zhí)行安裝命令如下:

composer require laravel/homestead --dev

這樣就在項(xiàng)目中安裝了Homestead。Homestead安裝完成后,使用make命令生成VagrantfileHomestead.yaml文件,make命令將會(huì)自動(dòng)配置Homestead.yaml中的sitesfolders屬性。

Mac/Linux:

php vendor/bin/homestead make

Windows:

vendor\bin\homestead make

接下來(lái),在終端中運(yùn)行vagrant up命令然后在瀏覽器中通過(guò)http://homestead.app訪問(wèn)站點(diǎn)。不要忘記在/etc/hosts(Linux)文件中添加域名homestead.app。

3、日常使用

3.1 通過(guò)SSH連接

你可以在Homestead目錄下通過(guò)終端命令vagrant ssh以SSH方式連接到虛擬機(jī),但是如果你需要以更平滑的方式連接到Homestead,可以為主機(jī)添加一個(gè)別名來(lái)快速連接到Homestead盒子。創(chuàng)建完別名后,可以簡(jiǎn)單使用vm命令來(lái)從任何地方以SSH方式連接到Homestead機(jī)器:

alias vm="ssh vagrant@127.0.0.1 -p 2222"

3.2 連接到數(shù)據(jù)庫(kù)

默認(rèn)已經(jīng)在homestead中為MySQL和Postgres數(shù)據(jù)庫(kù)做好了配置,更加方便的是,Laravel的local數(shù)據(jù)庫(kù)配置已經(jīng)為使用數(shù)據(jù)庫(kù)做好了設(shè)置。

想要通過(guò)本地的Navicat或Sequel Pro連接上MySQL或Postgres數(shù)據(jù)庫(kù),可以通過(guò)新建連接來(lái)實(shí)現(xiàn),主機(jī)IP都是127.0.0.1,對(duì)于MySQL而言,端口號(hào)是33060,對(duì)Postgres而言,端口號(hào)是54320,用戶名/密碼是homestead/secret

注意:只有從本地連接Homestead的數(shù)據(jù)庫(kù)時(shí)才能使用這些非標(biāo)準(zhǔn)的端口,在Homestead環(huán)境中還是應(yīng)該使用默認(rèn)的3306和5432端口進(jìn)行數(shù)據(jù)庫(kù)連接配置。

3.3 添加更多站點(diǎn)

Homestead環(huán)境在運(yùn)行時(shí),你可能想要添加額外Laravel應(yīng)用到Nginx站點(diǎn),你可以在單個(gè)Homestead環(huán)境中運(yùn)行多個(gè)Laravel應(yīng)用,添加站點(diǎn)很簡(jiǎn)單,只需將站點(diǎn)添加到Homestead.yaml文件,然后在Homestead目錄中運(yùn)行vagrant provision命令即可。

注意:該處理是不可逆的,運(yùn)行provision命令時(shí),已經(jīng)存在的數(shù)據(jù)庫(kù)會(huì)被銷(xiāo)毀并重建。

3.4 端口轉(zhuǎn)發(fā)配置

默認(rèn)情況下,Homestead端口轉(zhuǎn)發(fā)配置如下:

  • SSH:?2222 → Forwards To 22
  • HTTP:?8000 → Forwards To 80
  • HTTPS:?44300 → Forwards To 443
  • MySQL:?33060 → Forwards To 3306
  • Postgres:?54320 → Forwards To 5432

3.4.1 轉(zhuǎn)發(fā)更多端口

如果你想要在Vagrant盒子添加更多端口轉(zhuǎn)發(fā),做如下轉(zhuǎn)發(fā)協(xié)議設(shè)置即可:

ports:
    - send: 93000
      to: 9300
    - send: 7777
      to: 777
      protocol: udp

4、使用Blackfire?Profiler進(jìn)行性能分析

SensioLabs的Blackfire Profiler能自動(dòng)收集代碼執(zhí)行數(shù)據(jù),比如內(nèi)存、CPU時(shí)間、硬盤(pán)I/O等,Homestead使得在應(yīng)用中使用該profiler變得輕而易舉。

所有需要的軟件包已經(jīng)安裝到Homestead盒子,你只需要在Homestead.yaml文件中設(shè)置Blackfire Server ID和token:

blackfire:
    - id: your-server-id
      token: your-server-token
      client-id: your-client-id
      client-token: your-client-token

配置好Blackfire的憑證之后,在Homestead目錄下使用vagrant provision重新指配盒子。在此之前,確保你已經(jīng)查看過(guò)Blackfire文檔了解了如何為你的瀏覽器安裝相應(yīng)應(yīng)的Blackfire擴(kuò)展。

擴(kuò)展閱讀1:實(shí)例教程——在 Windows 上進(jìn)行 Laravel Homestead 安裝、配置及測(cè)試
擴(kuò)展閱讀2:實(shí)例教程——在Laravel Homestead中使用Blackfire Profiler對(duì)應(yīng)用性能進(jìn)行分析

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)