后端

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

背景

Laravel 是在 Vagrant 的基础上让开发环境更加统一,让开发者都能在指定的具体开发环境下使用 Laravel,这时便有了 HomesteadHomestead 是一个基于 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虚拟机启动便可

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 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.
    回车保存密钥,设置密钥

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的安装配置,有需要的可以向我要安装资源

Recent Posts

Flexible Shipping Pro

在WordPress的世界里,…

4天 ago

2023 年 WordPress 中最棒的多语言翻译插件推荐

担心如何翻译您的网站语言以支持…

1年 ago

2023 年 WordPress 中最棒的可视化页面构建器插件推荐

在设计任何页面或网站时,对于不…

1年 ago

Ella 多用途 Shopify 主题

Shopify 主题市场上有许…

1年 ago

AI Engine Pro

喵容今天带来的 AI Engi…

1年 ago

AIKit

喵容今天为您带来 AIKit …

1年 ago