Laravel Homestead配置(往事不堪回首月明中)

释放双眼,带上耳机,听听看~!

背景

Laravel 是在 Vagrant 的基础上让开发环境更加统一,让开发者都能在指定的具体开发环境下使用 Laravel,这时便有了 Homestead。Homestead 是一个基于 Ubuntu 构建的虚拟机,它包含了所有 Laravel 开发时需要用到的东西,你可以很轻松的通过指定的 Laravel 版本来找到相对应版本的 Homestead 并进行安装。Homestead 提供的默认开发环境还会装上很多常用的开发工具来辅助 Laravel 进行项目开发,包括 PHP7, Nginx, Redis, Memcached, MySQL, Git, Node.js, NPM 等等

为什么要用Homestead

Homestead 是 Laravel 官方推荐的开发环境,开发尽量用Homestead。以下需要注意:

1.Homestead 统一了环境,避免歧义,减少新手在学习中遇到不必要的卡顿;
2.统一环境带来的好处还有:当你遇到问题的时候,其他同学能很容易的帮助到你;
3.最大程度接近线上生产环境,为后续的课程做铺垫;
4.这是最佳实践,是需要从一开始培养起来的好习惯。

博主表示强烈要求入坑,必须要用,环境统一,插件齐全,虚拟机自带配置elasticsearch ;Homestead虚拟机启动便可

Laravel Homestead配置(往事不堪回首月明中) PHP 第1张

Windows下的开发环境部署(请按照一下步骤安装)

1 VirtualBox

VirtualBox 是 Oracle 公司的开源虚拟机软件。

2 Vagrant

Vagrant 是用来管理虚拟机的工具,支持当前主流的虚拟机系统如 VirtualBox、VMware、AWS 等。Vagrant 的主要作用是提供一个可配置、可移植和复用的软件环境。Vagrant 让你通过编写一个 Vagrantfile 文件来控制虚拟机的启动、虚拟机网络环境的配置、虚拟机与主机间的文件共享,以及启动后自动执行一些配置脚本,如自动执行一个 Shell Script 来安装一些必备的开发工具,如安装配置MySQL、PHP,甚至是自动配置 Nginx 站点。这意味着,在一个多人开发的项目中,你只需要同步 Vagrantfile 文件,就可以保证参与项目的每个人各自的机器上拥有一致的开发环境。

Homestead 介绍

Homestead 利用 Vagrantfile 提供的便利,定制了一整套的可配置、可移植和复用的 Laravel 开发环境。Homestead 虚拟机里面包含了 Nginx Web 服务器、PHP 7、MySQL、Postgres、Redis、Memcached、Node,以及所有你在使用 Laravel 开发时需要用到的各种软件。
Homestead 包含了两个东西:
Homestead 管理脚本;
Homestead Box 虚拟机盒子。
接下来独自说明下。

1. Homestead 管理脚本

Homestead 脚本使用 Ruby 和 Shell 脚本编写而成。原理是对 Vagrantfile 文件做定制。将从 ~/Homestead/Homestead.yaml 读取的配置信息,在 provision 时,解析为 Vagrant 命令并进行对虚拟机的配置。Homestead 脚本的作用在于,提供了极其简单易用的接口,使我们只需要通过傻瓜化配置,即可完成复杂的任务。以下是几个常用的任务:

IP 配置,端口映射;
Nginx Site 创建;
数据库创建;
主机文件夹挂载到虚拟机等任务。
所有 Homestead 的版本历史在 此处 可以找到。在本书中,为了提高操作的效率,我们将会使用定制版本的 Homestead。

2. Homestead Box 虚拟机盒子

homestead.box 虚拟机盒子是提前打包好的 Vagrant Box 虚拟机盒子,里面预装了 Nginx Web 服务器、PHP 7、MySQL、Postgres、Redis、Memcached、Node,以及所有你在使用 Laravel 开发时所需要用到的各种软件。

安装和使用 Homestead

  1. 下载和导入 Homestead Box

首先我们需要下载 Homestead 虚拟机盒子,下载后的文件为 lc-homestead-6.1.1-2018090400.zip,请对其进行 zip 解压操作,解压成功后可以看到目录 lc-homestead-6.1.1-2018090400,此目录下包含两个文件:
virtualbox.box(教程定制化过的 Homestead 盒子)
metadata.json(盒子的导入配置文件)
在解压目录中 lc-homestead-6.1.1-2018090400 运行以下命令导入 Box:

> vagrant box add metadata.json

如果你使用的 Windows 系统在安装 Homestead 的时候报错:The box ‘laravel/homestead’ could not be found or
could not be accessed in the remote catalog.,请下载 MS Visual C++ 2010 x86 Redistributables 并进行安装即可修复。

4 安装GIT

5 下载 Homestead 管理脚本

利用Git 输入命令:

> cd ~

> git clone https://git.coding.net/summerblue/homestead.git Homestead

进入Homestead 目录,初始化Homestead

> bash init.sh

Homestead.yaml 配置文件

1. 虚拟机设置

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

2.SSH 秘钥登录配置

authorize: ~/.ssh/id_rsa.pub
公钥和私钥一起同步到虚拟机
keys:

  • ~/.ssh/id_rsa
  • ~/.ssh/id_rsa.pub
    检查主机上是否已经生成过 SSH Key

    ls -al ~/.ssh
    生成 SSH Key
    ssh-keygen -t rsa -C "你的邮箱账号@.com"
    Generating public/private rsa key pair.
    回车保存密钥,设置密钥

Laravel Homestead配置(往事不堪回首月明中) PHP 第2张

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

3. 共享文件夹配置

我们可以通过 folders 来指明本机要映射到 Homestead 虚拟机上的文件夹。
map 对应的是我们本机的文件夹,格式例如:E:/Homestead/Code,以开发者实际项目目录为准。
to 对应的是 Homestead 上的文件夹。
folders:

  • map: ~/Code
    to: /home/vagrant/Code
    创建Code

    cd ~
    mkdir Code

4. 站点配置

将 homestead.test 映射到一个 Laravel 项目的 public 目录上。
在hosts 192.168.10.10 homestead.test

5. 数据库配置

databases:

  • homestead
6. 自定义变量

variables:

  • key: APP_ENV
    value: local

启动虚拟机vagrant up

登陆虚拟机 > vagrant ssh

以上就是Homestead的安装配置,有需要的可以向我要安装资源

人已赞赏
JavaScript前端编程

「前端进阶」完全吃透async/await,深入JavaScript异步

2018-10-8 23:39:29

CSS前端编程

更高效、更安全地操作 CSSOM :CSS Typed OM

2018-10-18 13:01:26

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索