搭建环境,开发条件搭建

by admin on 2019年1月31日

一、Laravel环境搭建

前面学习过一段时间的 Laravel ,换 mac 后直接没空做相关的事体,而且刚使用
mac
有点不习惯,怕坑太多,所以环境搭建就直接延宕了下来。终于前些天有一个比较完整的时刻,一狠心就把那件事做了。一共花了大多
5 个小时,回头看看实际仍然很是不难的,重即使因为前边在 win
下面搭建环境的阅历有一些先入为主的错误想法还有网上资料时效性导致绕了有些弯路。

1、安装浏览器 Chrome

  • 介绍:谷歌 Chrome,是一款由 谷歌(Google) 公司开发的网页浏览器。

  • 下载:https://www.google.cn/chrome

  • 版本:菜单 – 帮助 – 关于

  • 升级:菜单 – 帮助 – 关于

简介

Laravel 致力于让你在 PHP
开发进度中进一步轻松快乐,那其间也包涵地面开发环境的搭建。
Vagrant
提供了一种简易、优雅的格局来保管和安排虚拟机。

Laravel Homestead 是一个官方预封装的 Vagrant
box,它为你提供了一个圆满的支出环境,你无需在当地安装 PHP ,web
服务器,或其余服务软件。 Vagrant box
是全然一回性的,你不要担心系统被搞乱!如若有哪个位置方出错了,你可以在几分钟内销毁一视同仁建
box !

Homestead 可以运作在 Windows 、Mac 或 Linux 系统上,它其中富含了 Nginx
Web 服务器、PHP 7.1 、MySQL 、Postgres 、Redis 、Memcached 、Node
,以及部分福利你付出 laravel 应用的任何程序。

假若您使用的是 Windows
系统,你也许需求启用硬件虚拟化(VT-x)。那经常须求经过 BIOS
来启用它。如果你在一个 UEFI 系统上选拔 Hyper-V,您可能还索要禁用 Hyper-V
才能启用 VT-x。

1、window环境下环境搭建请参考以下链接:

homestead 是什么

Laravel 官方推荐应用 homestead 搭建环境,那么这一个 homestead
究竟是怎么样鬼?相信广大和自己同样不是专门搞服务器的同窗看过各样材料后还会有点迷糊。刚起先看了一些介绍后我以为
homestead 是一个组成了 Nginx + PHP + MySQL + Composer 还有此外 Laravel
要求环境的装置包加管理器的概念,类似 win 平台上的 wnmp
之类的事物。不过装一半就发现完全是另五回事。
实际 homestead
是一台虚拟机的原型,类似大家买电脑后预装的种类,只是那一个体系预装了全方位
Laravel 必要的事物。而大家首先开展的手续安装 VirtualBox 和 Vargrnt
实际上就是设置了虚拟机。那意味实际上 homestead 安装完毕后大家的 mac
上并不曾也不必要设置 PHP、Nginx、MySQL
等等的事物,所有东西都设置在另一台机械上(虚拟机)。

bf88必发唯一官网 1

homestead 配置步骤

2、安装命令行工具 Git for Windows

  • 介绍:Git 是眼前世界上初阶进的分布式版本控制系统(没有之一)。

  • 下载: Git
    官网

    gitforwindows

  • 版本:git --version

  • 升级:Git for Windows 直接下载最新版本安装;虚拟机 VirtualBox 里
    Homestead 自带的 Git 则擢升 Homestead 即可。

停放软件

  • Ubuntu 16.04
  • Git
  • PHP 7.1
  • Nginx
  • MySQL
  • MariaDB
  • Sqlite3
  • Postgres
  • Composer
  • Node (With Yarn, Bower, Grunt, and Gulp)
  • Redis
  • Memcached
  • Beanstalkd
  • Mailhog
  • ngrok

  开发环境搭建 – Windows | 《Laravel
开发环境陈设》 | PHP / Laravel 社区文档

安装VirtualBox、Vargrant

VirtualBox
下载地址
Vagrant下载地址
这一步非凡简单,官网都有 dmg 安装包,正常安装即可。
表明是还是不是安装成功在巅峰应用以下命令行,突显版本音讯就 OK 了。

vagrant -v

3、安装代码编辑器 SublimeText

  • 介绍:以下是两款格外理想和流行的代码编辑器,首推 SublimeText,其次
    Atom。

    • Atom
    • SublimeText
    • PHPStorm
    • Visual Studio
    • Vim
    • Eclipse
  • 下载:

软件官网下载。安装后添加环境变量,方便命令行工具调用编辑器:

本人的处理器 > 属性 > 高级系统设置 > 环境变量 >
修改用户变量或系统变量中的 Path > 新建 > 添加变量地址,如
C:\Atom > 一路规定,重启电脑。

测试:> atom --version

  • 搭建环境,开发条件搭建。版本:帮助 – 关于

  • 提拔:软件官网下载最新版安装。

安装与安装

  

安装 Homestead Vagrant Box

平昔输入以下命令行:

vagrant box add laravel/homestead

接下来会提示接纳版本,接纳 virtualbox 版本相应序号即可。
其一手续相当于下载虚拟机的预装系统,文件当先1G,全程最耗时的手续,请挂 VPN,你懂的。此外实在不行也足以设想对
homestead.box 直接进行下载,并且手动导入。由于自家自己是挂了 VPN
直接下了,手动导入的情节就不多说,文末会付给相应课程链接。

4、安装版本管理软件 Git

  • 注:安装了命令行工具 Git for Windows 就默许安装好 Git
    ,无需重复安装。虚拟机里面 Homestead 也自带 Git,无需再一次安装。

第一步

在您使用 Homestead 环境之前,你必须先安装 VirtualBox
5.1
、VMWare
或者
搭建环境,开发条件搭建。Parallels
中的一个,然后再安装
Vagrant。上述软件均提供了针对性差距操作系统的可视化安装包。

若要使用 VMware provider,你需求同时购买 VMware Fusion / Workstation
以及 VMware Vagrant
插件
的软件授权,因为它们不是免费的。使用 VMware
的优势是:可以取得开箱即用的共享文件夹特性。

若要使用 Parallels provider,你需要设置 Parallels Vagrant
插件
,那是免费的。

 

安装 Homestead

#切换到用户文件夹
cd ~
#克隆homestead项目 到 home/Homestead 文件夹
git clone https://github.com/laravel/homestead.git Homestead

git 项目克隆成功后,切换来 Homestead 文件夹,成立连锁安顿文件:

#切换到homestead目录
cd ~/Homestead
# Mac / Linux...
bash init.sh

5、安装虚拟机 VirtualBox

  • 介绍:VirtualBox 是 Oracle 集团的开源虚拟机软件。VirtualBox
    号称是最强的免费虚拟机软件,它不光功用齐全,而且品质也很精美!VirtualBox
    帮忙大多数风行的连串,如:Mac, Windows, Linux 等。

  • 下载:VirtualBox
    官网下载

  • 版本:帮助 – 关于

  • 升级:官网下载最新版安装

安装 Homestead Vagrant Box

当 VirtualBox / VMware 以及 Vagrant 安装到位后,你可以选拔以下命令将
laravel/homestead 这几个 box 添加进你的 Vagrant 当中。 homestead box
的下载会开销你或多或少时光,具体的下载时长由互连网速度决定:

vagrant box add laravel/homestead

一旦地方的命令运行败北,请先确保您早已设置了最新版本的 Vagrant。

  • 即便利用国内网络,能够复制终端上出示的 homestead box
    下载地址手动下载比量齐观命名。例如重命名为 virtualbox-3.0.0.box。

接下来,新建一个 metadata.json 文件,并写入以下示例内容:

{
    "name": "laravel/homestead",
    "versions": 
    [
        {
            "version": "3.0.0",
            "providers": [
                {
                  "name": "virtualbox",
                  "url": "virtualbox-3.0.0.box"
                }
            ]
        }
    ]
}

末段,使用以下命令手动添加 box

vagrant box add metadata.json # 添加 box
vagrant box list # 列出所有 box

二、须求注意难点

编辑 Homestead.yaml

走完下面步骤后 Homestead 文件夹里会出现一个 Homesstead.yaml
配置文件。那几个文件可以部署 mac 与虚拟机的共享文件夹、Nginx
站点、数据库等等、虚拟机使用 cpu 数、内存等等。
现在大家的指标是先安装并运行 Laravel
就行了,先选择其预设值即可,先不开展改动。不过大家必要依据其预设值对 mac
进行部分操作。
开拓 Homesstead.yaml,先看一眼 folders 的值:

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

folders 决定了 mac 与虚拟机的共享文件夹,以上预设值指:mac 的 ~/Code
目录与虚拟机的 /home/vagrant/Code 是映射的涉及。这时我们的 mac
上并不曾 ~/Code 这么些目录,自行新建即可。

#切换到用户目录
cd ~
#创建文件夹
mkdir -p code/lexing

6、安装虚拟机管理工具 Vagrant

  • 介绍:Vagrant 是用来保管虚拟机的工具,援助当前主流的虚拟机系统如
    VirtualBox、VMware、AWS 等。Vagrant 的紧要性功能是由此编制一个
    Vagrantfile 文件提供一个可配置、可移植和复用的软件条件。

  • 下载:Vagrant
    官网下载

  • 版本:vagrant --version

  • 进步:官网下载最新版本

安装 Homestead

您可以简简单单利用 Git 克隆代码仓库的措施来安装
Homestead。提议将仿造的代码仓库重命名为 Homestead
,并放置到您的「home」目录中,如此一来 Homestead box
就能当做主机,为您的保有 Laravel 项目提供服务:

cd ~

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

由于 Homestead 的 master
分支并不是政通人和分支,你应有检出已经标签过的安定团结版本。你能够在 Github
Release
Page
找到最新的安定版本。

cd Homestead

// 检出所需要的版本...
git checkout v5.4.0

即使你克隆完 Homestead 的代码仓库,就可以在 Homestead 目录中运作 bash
init.sh 命令来创立 Homesstead.yaml 配置文件。 Homesstead.yaml
文件会被停放在你的 Homestead 目录中:

// Mac / Linux...
bash init.sh

// Windows...
init.bat

以下皆为按默许搭建环境下的操作

编辑 /etc/hosts 文件

此时大家再看一看 Homesstead.yaml 的 ip 和 sites 两项:

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

ip 是指 Homestead 的 ip,sites
则是指定域名去对应虚拟机的文件目录。记住那多个值,相应的去 /etc/hosts
文件最后添加如以下格式内容即可。此外提一下 etc 文件夹使用 Fider
的前往文件夹,输入/etc/ 就可以进去了。

192.168.10.10  homestead.app

到此地准备工作就曾经形成了,大家得以启动虚拟机了。

7、安装 Vagrant 盒子 Laravel Homestead

  • 介绍:

Laravel 为开发者提供了一套完善的分量级本地开发条件 —— Laravel
Homestead。 Laravel Homestead 实际是一个打包好种种 Laravel
开发所需软件和工具的 Vagrant 盒子。Homestead 包蕴了五个东西:

  • Homestead Vagrant Box 虚拟机盒子;
  • Homestead 管理脚本。

Homestead Vagrant Box 虚拟机盒子是提前打包好的 Vagrant Box
虚拟机盒子,里面预装了独具你在利用 Laravel 开发时所急需运用的各样软件。

Homestead 脚本使用 Ruby 和 Shell 脚本编写而成。原理是对 Vagrantfile
文件做定制。将从~/Homestead/Homestead.yaml 读取的配备音信,在 provision
时,解析为 Vagrant 命令并拓展对虚拟机的陈设。

  • 下载:

homestead
管理脚本

Homestead Vagrant
Box

  • 安装

    • 导入 Homestead Vagrant Box:把 Homestead Box
      解压到非中文路径,运行以下命令导入
      Box:vagrant box add metadata.json

    • 设置 homestead 管理脚本

> cd ~
> git clone https://github.com/laravel/homestead.git ~/Homestead 

进去 Homestead 目录,使用 Git 检出大家需求的 Homestead 版本:

> cd ~/Homestead
> git checkout v5.4.0

初始化 Homestead:

> bash init.sh

  • 版本:

    • Homestead Vagrant Box:vagrant box list
    • Homestead 管理脚本:(不明了)
  • 升级:

创新 Homestead 只须求八个简易步骤。首先,运行 vagrant box update 更新
Vagrant box :

vagrant box update

然后,更新 Homestead 源代码。如果你是应用 git
克隆仓库安装的,你能够在仓房目录下运作 git pull origin master 命令。

要是你是透过品种 composer.json 文件安装的,你须要更新 Homestead 信赖为
“laravel/homestead”: “^7″,然后运行:

composer update

配置 Homestead

1、下载下来的Laravel项目,登录数据库

起步虚拟机

出于进入虚拟机就都要用命令行干活了,那里推荐一下可以运用
iTerm
那个命令行工具。
在mac命令行中输入
cd ~/Homestead,切换来homestead项目所在到目录,然后输入
vagrant up,启动画面如下图:

bf88必发唯一官网 2

启动虚拟机

8、配置 Homestead.yaml 文件

Homestead.yaml 文件在 ~/Homestead
文件夹里,是任重(英文名:rèn zhòng)而道远安顿信息文件,大家可以在此文件中安插 Homestead
的站点和数据库等音讯。

布置你的提供者

Homestead.yaml 中的 provider 参数设置取决于你用的是哪一个 Vagrant 提供者
virtualbox 、vmware_fusion 、vmware_workstation 或者
parallels。你可以根据自己的莫过于处境来设置提供者:

provider: virtualbox
homestead / secret

SSH 登入虚拟机

启动成功之后,输入vagrant ssh 登陆到 vagrant 虚拟机,如下图所示:

bf88必发唯一官网 3

ssh登入虚拟机 注意命令行行首已经变成 vagrant

很快打开:

> atom ~/Homestead/Homestead.yaml

配备共享文件夹

你能够在 Homestead.yaml 文件的 folders 属性里列出具有想与 Homestead
环境共享的文书夹。那一个文件夹中的文件若有改动,它们将会在您的本机电脑与
Homestead 环境自动更新同步。你可以在此处安装多少个共享文件夹:

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

若要启动
NFS
,只要求在共享文件夹的安装值中进入一个简单的参数:

folders:
    - map: ~/Code
      to: /home/vagrant/Code
      type: "nfs"
  • 一旦选择 NFS ,指出您安装
    vagrant-bindfs
    插件。 这么些插件会替你处理 box 中的文件或目录权限难题。

您也得以在配备中传递任何 Vagrant
共享文件夹
协助的参数,在 options 配置项下列出它们:

folders:
    - map: ~/Code
      to: /home/vagrant/Code
      type: "rsync"
      options:
          rsync__args: ["--verbose", "--archive", "--delete", "-zz"]
          rsync__exclude: ["node_modules"]

2、通过vagrant驱动虚拟机

在虚拟机中安装 Laravel

中标登入后使用以下命令在虚拟机中应用 Composer(虚拟机中早就预装好了)
下载 Laravel。当然,VPN 无法停。若是应用 VPN
照旧特其余话也许必要挂国内镜像,网上有局地资料比较陈旧,导致镜像网址
https 少了个 s,注意确认。
镜像用法点我!

cd Code
composer create-project laravel/laravel Laravel --prefer-dist

此地切换来的 Code 目录就是预设与 mac 用户目录下 Code
文件夹映射的文件夹。Composer 会在 Code
里新建一个 Laravel 文件夹,下载 Laravel 所需文件。也恰恰和
Homesstead.yamlsites 指定的文本路径切合。
–prefer-dist: 意思是下载用于 distribution
的平稳版本,而不是付出中的版本。

下载达成后就水到渠成了,浏览器里输入 homestead.app
(预设值的域名),出现以下画面就没难点了。

bf88必发唯一官网 4

Laravel 安装成功

到此处大家的条件就已经搭建完毕了。下边再补充一下 Homestead
的关机等必须精通的操作,还有就是大家要运行自己的项目必需要运用到的数据库连接和
Nginx 新增站点的操作。

安插项目

Homestead.yaml 里的布局差不离能够分成以下三种:

  1. 虚拟机设置;
  2. SSH 秘钥登录配置;
  3. 共享文件夹配置;
  4. 站点布局;
  5. 数据库配置;
  6. 自定义变量。

配置 Nginx 站点

对 Nginx 不了解吗?没关系。sites 属性可以援助您可以随心所欲指定一个 域名
来对应到 homestead 环境中的一个索引上。在 Homestead.yaml
文件中已包括了一个网站设置范本。同样的,你也得以追加多少个网站到你的
Homestead 环境中。 Homestead 可以同时为多少个 Laravel 应用提供虚拟化环境:

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

如果您在 Homestead box 配置之后更改了 sites 属性,那么相应重新运行
vagrant reload –provision 来更新 Nginx 配置到虚拟机上。

cd ~/Homestead && vagrant up

关闭/删除/重建 Homestead

Homestead
相当于另一个种类,所以自然也是一个耗能小能人,所以不用的时候千万要记得关闭。以下是脱离登陆并关闭虚拟机命令。

# 命令行工具退出对虚拟机系统登陆
eixt
# 虚拟机关机(位置要在 Homestead 文件夹)
vagrant halt

下次急需利用时,从 vagrant up 步骤开端即可。

在测试中因为各类原因导致虚拟机坏掉的时候,只必要对虚拟机进行删减、重建即可,万分便宜。

# 删除当前虚拟机(需要在 Homestead 文件夹下)
vagrant destroy --force
# 重建虚拟机
vagrant up

留神删除指的是剔除 vagrant up 建立的虚拟机,和删除所有 Homestead
是例外定义。若是完全不想利用 Homestead 了,想要删除可以参见下边链接。
删除 Homestead
与须知

虚拟机设置

Homestead 辅助咱们对虚拟机的 IP,内存,CPU,虚拟机的默许提供者进行配置。

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

关于 Hosts 文件

您不可能不将在 Nginx sites 中所添加的「域名」也增进到您本机电脑的 hosts 上。
hosts 文件会将请求重定向至 Homestead 环境中装置的地面域名。在 Mac 或
Linux 上,该公文一般会存放在 /etc/hosts。在 Windows 上,则存放于
C:\Windows\System32\drivers\etc\hosts。设置情节如下所示:

192.168.10.10  homestead.app

请务必确认 IP 地址与 Homestead.yaml 文件中装置的同等。将域名设置在 hosts
文件之后,你就足以经过网页浏览器访问你的网站。

http://homestead.app

3、Bash 登录虚拟机

老是数据库

事实上在虚拟机中早已为 MySQL 和 Postgres 配置好了一个开箱即用的数目库
homestead 。Laravel 中的 .env 文件的默许值正是利用了这么些数据库。
数据库既然有了,那难点是怎么总是上啊?现在我们看一看刚才大家运行的
Laravel 项目原型中的 .env 文件中有关数据库的内容。

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

能够见到三番五次指向了本机地址的 3306 端口,数据库名为
homestead,账号密码分别是 homestead /
secret。有了那些音信,大家就能三番五次上数据库了,相比较简单的事态下大家只须要修改数据库名为我们温馨创制的数据库名。
若是想要从你主机上的数据库客户端连接 MySQL 或 Postgres,可以经过
127.0.0.1 来行使端口 33060(MySQL) 或 54320(Postgres) 连接。
专注是端口是 33060,不是文件上的 3306。我自己是选拔 Workbench
连接数据库,少了一个 0 貌似连不上。

bf88必发唯一官网 5

利用 Workbench 连接数据库

SSH 秘钥登录配置

authorize
选项是指派登录虚拟机授权连接的公钥文件,此文件填写的是主机上的公钥文件地点,虚拟机早先化时,此文件里的内容会被复制存储到虚拟机的
/home/vagrant/.ssh/authorized_keys文件中,从而落成 SSH 免密码登录。

authorize: ~/.ssh/id_rsa.pub

keys 是数组选项,填写的是本机的 SSH
私钥文件地方。虚拟机开始化时,会将那里填写的持有 SSH
私钥文件复制到虚拟机的 /home/vagrant/.ssh/
文件夹中,从而使虚拟机能共享主机上的 SSH
私钥文件,使虚拟机具备同样主机的地方声明。

将公钥和私钥一起一起到虚拟机中:

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

生成 SSH Key,先检查主机上是否已经生成过 SSH Key:

> ls -al ~/.ssh

比方不设有 id_rsa 和
id_rsa.pub
的话,使用以下办法来生成 SSH Key,请将
your_email@example.com
替换为你的信箱:

> ssh-keygen -t rsa -C "your_email@example.com"

命令行会提示让您指定秘钥的称呼,按回车键将 SSH Key
保存到默认文件名即可:

Enter a file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]

接下去会询问你为 SSH Key 设置密码,按回车键即可,默许为空密码:

Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type passphrase again]

然后一并 Enter 键即可,如图:

bf88必发唯一官网 6

image

再使用:

> ll ~/.ssh

查看的话,可看到三个公文:

SSH 秘钥的多个文本:

  • id_rsa —— SSH 秘钥的 私钥 (Private Key)
  • id_rsa.pub —— SSH 秘钥的 公钥 (Public Key)

启动 Vagrant Box

据悉你的喜好完结 Homestead.yaml 编辑后,进入你的 Homestead 目录并运行
vagrant up 命令。 Vagrant 就会根据 Homestead.yaml
里的配备音讯启动,并为虚拟机设置共享文件夹和 Nginx 网站。

假设要移除虚拟机,你可以拔取 vagrant destroy –force 命令

vagrant ssh 

增产站点

运用 Homestead 的一大益处就是不用去折腾 Nginx
配置文件。要添加额外的网站,只需将网站添加到您的 Homestead.yaml 文件中:

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

然后在 /etc/hosts 文件中添加相应内容:

192.168.10.10  homestead.app
192.168.10.10  test.com

然后在 Homestead 文件夹下,使用 vagrant reload --provision
命令就做到了。网上有局地资料说那个命令会损毁并再次创制现有的数据库,指出手动去修改
Niginx
的安顿文件。我要好试了瞬间是不曾这么些情况出现的,不掌握是因为版本仍然我晓得错误的因由。手动修改的措施本身也试了刹那间,不过在虚拟机里不曾权力导致破产,暂时并未缓解。方法可以参见文末的链接。反正这几个题材官方文档也并不曾提及,我是不太想去折腾
Nginx 文件就是了。

此外给出多少个包括本文未提及内容不过或许须求利用到的链接:

手动配置nginx服务器、导入homestead.box,在该小说最终附录处。
设定 ssh
key,使用
ssh 登入前可能要求以此手续,我要好是无须,可能是由于事先运用 git
的时候曾经弄过了?
法定普通话文档

共享文件夹配置

因而 folders 来指明本机要映射到 Homestead 虚拟机上的文件夹。

  • map 对应的是大家本机的公文夹;
  • to 对应的是 Homestead 上的文书夹。

合并配置如下:

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

创建~/Code 文件夹:

> cd ~
> mkdir Code

为每个品种分别安装

除开在全局范围内设置 Homestead 环境,所有品种共享相同的 Homestead box
外,你还足以为每一个品种配置一个独立的 Homestead 实例。通过传递
Vagrantfile ,可以兑现为每个门类各自设置上 Homestead
,其余类型成员只需求经过不难的 vagrant up 即能跟你持有相同的 Homestead
环境。

要将 Homestead 直接设置到花色中,需求选取 Composer:

composer require laravel/homestead --dev

假若 Homestead 安装已毕,可以运用 make 命令生成 Vagrantfile 与
Homestead.yaml 文件,并存放于项目标根目录。make 命令将会自动在
Homestead.yaml 文件中配备 sites 及 folders

Mac / Linux:

php vendor/bin/homestead make

Windows:

vendor\\bin\\homestead make

接下去,在指令行中运行 vagrant up 并通过网页浏览器访问
http://homestead.app。再度提示:你如故需求在
/etc/hosts 里配置 homestead.app 或其他想要使用的域名。

只要您期望拔取 玛丽亚DB 来替换 MySQL,你可以在 Homestead.yaml
文件中扩展一个 mariadb 的选项,那些选项会移除 MySQL 并安装 玛丽亚DB。因为
MariaDB 可用作 MySQL 的替代品,所以在你的数据库配置音讯里,可继承应用
mysql 数据库驱动。

box: laravel/homestead
ip: "192.168.20.20"
memory: 2048
cpus: 4
provider: virtualbox
mariadb: true
  • 设置 玛丽亚DB 须要一连境外网络,请确保互联网通畅!

4、VirtualBox
登录虚拟机默认账号密码:

站点布局

站点布局允许你在主机里,通过域名来访问虚拟机里的 Laravel 应用。如下边sites 配置所示,将 homestead.app 映射到一个 Laravel 项目的 public
目录上。

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

绑定 hosts:

运用编辑器直接打开文件: C:\Windows\System32\Drivers\etc\hosts
,在终极面参加以下一行:

192.168.10.10 homestead.app

广泛用法

vagrant / vagrant

数据库配置

为 Homestead 指定数据库名称,那里运用默认设置即可。

databases:
    - homestead

全局使用

偶尔你愿目的在于文件系统的别的地点都足以运用 vagrant up
命令启动虚拟机,那么您须要添加以下代码到你的 Mac / Linux 系统的 Bash
profile 文件之中。对于 Windows 系统,您可以由此在 PATH
环境变量中增加「批处理」文件的不二法门来兑现此目标。下边这几个本子让您可以在文件系统的其他义务都能运行
Vagrant 命令,它一定于切换来 Homestead 目录运行 Vagrant 命令:

5、Nginx配置文件所在目录

自定义变量

设若您须求自定义一些在虚拟机上可以运用的自定义变量,则足以在 variables
中开展定义。

variables:
    - key: APP_ENV
      value: local
Mac / Linux
function homestead() {
    ( cd ~/Homestead && vagrant $* )
}

请将 ~/Homestead 那么些途径修改为你的莫过于 Homestead
的设置路径,一旦那些函数安装成功,就可以在系统的擅自地方运行 homestead
up 或 homestead ssh 命令。

vim /etc/nginx/nginx.conf
cd /etc/nginx/sites-available (所有站点配置文件)

运行 Vagrant

Vagrant 常用的一对命令行的行使:

命令行 说明
vagrant init 初始化 vagrant
vagrant up 启动 vagrant
vagrant halt 关闭 vagrant
vagrant ssh 通过 SSH 登录 vagrant(需要先启动 vagrant)
vagrant provision 重新应用更改 vagrant 配置
vagrant destroy 删除 vagrant

启动 Homestead:

> cd ~/Homestead && vagrant up

首先次启动时,Vagrant 会做以下这几件业务:

  • 以导入的 Homestead 虚拟机盒子为模板,新建一台虚拟机;
  • 并按照 Homestead.yaml 里的布局新闻,对那台新建的虚拟机举行布署;
  • 配备落成后开行虚拟机。

成功启动后,仍旧在 ~/Homestead 目录中,通过以下命令来 SSH 登录 Homestead
虚拟机中:

> vagrant ssh

剥离虚拟机:

> exit

关闭 Homestead:

`> vagrant halt

Windows

在系统的妄动地点创立一个批处理公事 homestead.bat ,并足够如下内容:

@echo off

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

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

set cwd=
set homesteadVagrant=

请确保将 C:\Homestead 这几个路子修改为您的实际上 Homestead
的装置路径,成立完那么些文件后,将以此文件路径添加到 PATH
环境变量中,就可以在系统的人身自由地点运行 homestead up 或 homestead ssh
命令。

6、Laravel内置命令行使用

通过 SSH 连接

你可以在 Homestead 目录运行 vagrant ssh 命令来连续虚拟主机。

唯独,由于您可能要求频仍地利用 SSH 来连接 Homestead
主机,请考虑将上述「function」添加到你的主机,以便可以高速的经过 SSH
进入你的 Homestead box

通过命令行指令切换来Laravel项目的根目录下,命令形式为:php
artisan (+具体命令)

总是数据库

在 box 中已经为 MySQL 和 Postgres 配置好了一个开箱即用的数据库 homestead
,为了更有益的利用它,Laravel 中的 .env
文件将以此数据库设置成了框架默认使用的数据库。

万一想要从您主机上的数据库客户端连接 MySQL 或 Postgres,可以透过
127.0.0.1 来行使端口 33060(MySQL) 或 54320(Postgres)
连接。账号密码分别是 homestead / secret

  • 因为虚拟机做了端口转载,所以在本机电脑上您应当只利用那么些非标准的连天端口。但在
    Laravel 数据库配置文件中,你照样要运用默认的 3306 及 5432 连接端口。

例如:

日增更多网站

一经 Homestead 环境布署落成且成功运行后,你也许会想要为 Laravel
应用程序伸张更加多的 Nginx 网站。你可以在单个 Homestead 环境中运行五个Laravel 程序。要添加额外的网站,只需将网站配置音讯添加到您的
Homestead.yaml 文件中:

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

即使 Vagrant
没有电动管理你的「hosts」文件,你或许须要手动把新增的站点投入到「hosts」文件中:

192.168.10.10  homestead.app
192.168.10.10  another.app

当你的网站添加成就后,切换来 Homestead 目录运行 vagrant reload
–provision 命令就能够运用新的改动。

(1)、清除视图缓存  

网站类型

Homestead 扶助八体系型的网站,允许你轻松地运行那个不依照 Laravel
的项目。 例如,大家可以动用「symfony2」配置项,轻松地在 Homestead 中添加
Symfony 应用程序:

sites:
    - map: symfony2.app
      to: /home/vagrant/Code/Symfony/web
      type: symfony2

支撑的站点类型有:
apache、laravel(默许)、proxy、silverstripe、statamic、symfony2 和
symfony4。

php artisan view:clear

网站参数

你仍能应用「params」配置项,添加额外的 Nginx fastcgi_param
值到你的网站。例如添加一个称谓为「FOO」值为「BAR」的额外布置。

sites:
    - map: homestead.app
      to: /home/vagrant/Code/Laravel/public
      params:
          - key: FOO
            value: BAR

(2)、清除运行缓存

配置 Cron 调度器

Laravel 提供了方便的情势来 调度 Cron
任务
,通过 schedule:run Artisan 命令,调度便会在每分钟被运行。
schedule:run 命令会检查定义在你 App\Console\Kernel
类中调度的任务,判断哪些职务该被周转。

设若您想为 Homestead 网站使用 schedule:run 命令,你须求在概念网站时将
schedule 选项设置为 true

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

该网站的 Cron 任务会被定义在虚拟机的 /etc/cron.d 文件夹中。

php artisan cache:clear

端口

默许景况下,以下地点电脑端口将会被转正至 Homestead 条件:

  • 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
  • Mailhog: 8025 → Forwards To 8025

(3)、清除配置缓存

转折越来越多端口

即使需求的话,你可以转化越多端给 Vagrant box
,甚至足以指定它们的磋商项目。

ports:
    - send: 50000
      to: 5000
    - send: 7777
      to: 777
      protocol: udp
php artisan config:clear

共享你的环境

有时候你想跟你的同事如故是客户共享你眼前的工作进程。Vagrant
为此提供了一个放置方法 vagrant share;可是,假诺您在 Homestead.yaml
文件中安插了七个站点,那么那条命令将会变得没多大用处。

为了解决那些题材,Homestead 提供了和谐的 share 命令。初叶此前,通过
vagrant ssh 命令 SSH 进你的 Homestead 机器中,然后运行 share
homestead.app。那会从你的 Homestead.yaml 配置文件中共享 homestead.app
站点。当然了,你也足以用别的已经配备的站点来替代 homestead.app。

share homestead.app

运行完指令之后,你可以看看一个含有移动日志和共享站点外网访问路径的 Ngrok
界面。即便你想要自定义地区依然其他 Ngrok 选项,你可以添加到 share
命令后边:

share homestead.app -region=eu -subdomain=laravel
  • 谨记,Vagrant 本质上是不安全的,当你运行 share
    命令的时候,你会把你的虚拟机暴光在互连网中。

7、配置多站点

多个 PHP 版本

  • 其一特性仅与 Nginx 包容。

Homestead 6 支持在同一个虚拟机上引入多少个不等版本的 PHP。您须要在
Homestead.yaml 配置文件中为某个站点指明须要运用的 PHP 版本即可。 可用的
PHP 版本有:「5.6」、「7.0」、「7.1」

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

此外,您仍可以通过 CLI 使用其余支持的 PHP 版本:

php5.6 artisan list
php7.0 artisan list
php7.1 artisan list

由此homestead.yaml配置多站点,要求实践:

互联网接口

Homestead.yaml 文件里的 networks 配置项允许你为 Homestead
环境安顿网络接口。您可以根据必要配置任意数量的接口:

networks:
    - type: "private_network"
      ip: "192.168.10.20"

想要配置一个
桥接
接口的话,增加 bridge 配置项,然后 type 填写为 public_network

networks:
    - type: "public_network"
      ip: "192.168.10.20"
      bridge: "en1: Wi-Fi (AirPort)"

想要配置一个
DHCP
接口的话,请从安排中移除 ip 选项:

networks:
    - type: "public_network"
      bridge: "en1: Wi-Fi (AirPort)"
vagrant provision

更新 Homestead

您可以大约的用八个步骤来更新 Homestead ,第一步,使用 vagrant box update
命令更新 Vgrant box :

vagrant box update

bf88必发唯一官网 ,接下去。你要求更新 Homestead
的源代码,如若你是通过仿制仓库的格局来设置的 Homestead
,你可以在你最初克隆仓库的岗位简单的周转 git pull origin master 命令。

假若您早就经过你的档次中的 composer.json 文件安装了 Homestead
,你应该认同你的 composer.json 文件中是或不是带有 “laravel/homestead: “^4”
并且还要更新看重:

composer update

此操作会重构数据库,并不推荐。可用以下命令来取代,该命令可应用性的改变。

野史版本

设若你要求一个旧版本的 PHP ,请在尝试使用旧版本 Homestead
此前,先读书文档 多个 PHP
版本。

您可以由此丰硕以下配置到你的 Homestead.yaml 文件来便于的遮盖 Homestead
使用的 box 版本:

version: 0.6.0

例如:

box: laravel/homestead
version: 0.6.0
ip: "192.168.20.20"
memory: 2048
cpus: 4
provider: virtualbox

当您利用旧版本的 box 时,你必要确保 Homestead
源代码的版本与之相应,上面的图样突显了支撑的 box 版本,以及与之相应的
Homestead 的源代码版本和 box 所提供的 PHP 版本:

Homestead Version Box Version
PHP 7.0 3.1.0 0.6.0
PHP 7.1 4.0.0 1.0.0

 

Provider 的新鲜装置

vagrant reload --provision

VirtualBox

Homestead 默认将 natdnshostresolver 设置为 on。那允许 Homestead
使用你的主机系统中的 DNS 设置。若是您想重写那表现,你可以在你的
Homestead.yaml 文件中添加上面这几行:

provider: virtualbox
natdnshostresolver: off

要么登录虚拟机,按nginx配置多站点的办法来开展。

翻译署名

用户名 贡献
WangYan 翻译

初稿链接:http://shouce.jb51.net/laravel-5-5/source/homestead.html\#configuring-homestead

如上措施都亟需安顿hosts文件,hosts文件的岗位及效益,请参见:

 https://www.cnblogs.com/whx-blogs/p/9485445.html

 

三、下载安装使用别人的laravel项目

1、参考以下链接:

  

 

待续……

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图