laravel开发环境homestead搭建过程详解


Posted in PHP onJuly 03, 2020

常见的几种开发环境

Laravel的开发环境其实很多,因为它本身就是PHP,所以只要满足版本的情况下,任何pHP环境他都能跑起来,比如说常见的wamp/mamp/phpstudy等集成化环境都是可以的,但是,为了更好的减少错误,更多的兼容,以后的上线环境,官方推荐了两种开发环境,一种是homestead,另一种是Valet。第1种呢,Windows系统和mac系统,都可以支持,第2种的专门就是为mac系统的用户所提供的,总体感觉两种环境都非常非常好用,今天我们就着重说一下第1种环境的搭建。

homestead环境for windows

Laravel 致力于让整个 PHP 开发体验变的更愉快,包括你的本地开发环境。 Vagrant 提供了一种简单、优雅的方式来管理和配置虚拟主机。

Laravel Homestead 是一个官方预封装的 Vagrant box ,它为你提供了一个完美的开发环境,你不需要在本地机器安装 PHP、web 服务器和其他的服务器软件。你再也不用担心会弄乱你的操作系统了!Vagrant boxes 是一次性的。 如果出现问题, 你可以在几分钟内销毁并重新创建 box !

Homestead 可以运行在任何 Windows、Mac、或 Linux 系统, 它包括了 Nginx web 服务器,PHP7.4、PHP 7.3、PHP 7.2、PHP 7.1、MySQL、PostgreSQL、Redis、Memcached、Node 以及你开发 Laravel 所需要的东西。

1. 安装git

下载地址:这里附上2.25.1版本下载

git for windows 32位

git for windows 64位

laravel开发环境homestead搭建过程详解

也可到官方网站下载最新版: git官方

安装好进行备用。

2.安装虚拟机管理软件

在你启动 Homestead 环境之前,你必须安装 VirtualBox 6.x,VMWare,Parallels 或 Hyper-V 以及 Vagrant。以上所有软件均针对不同的操作系统提供了易于使用的可视化安装包。

laravel开发环境homestead搭建过程详解

我这里使用的是VirtualBox软件, https://www.virtualbox.org/wiki/Downloads  是 Oracle 公司的开源虚拟机软件。VirtualBox 号称是最强的免费虚拟机软件,它不仅功能齐全,而且性能也很优异!VirtualBox 支持大部分流行的系统,如:Mac, Windows, Linux 等。

下载地址: 下载地址

选择window hosts即可下载,大小位100多MB,安装完毕备用。

3. 安装Vagrant(管理虚拟机的工具)

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

laravel开发环境homestead搭建过程详解

下载地址: 下载地址

大小200多MB

4.安装Homestead box 第一种--在线安装 Homestead Vagrant Box(不推荐)

这样安装下载会非常慢,我安装了好多次都失败了,可以使用第二种本地文件安装方式

vagrant box add laravel/homestead

先打开git,然后打开~目录

然后运行上述命令

然后提示你选择paralles还是virtualbox

laravel开发环境homestead搭建过程详解

选择2,然后就会进行在线安装

第二种--本地文件安装(推荐使用)

先下载离线 homestead.box ,大小1.25GB左右,这里附上下载地址:官方下载,官方页面homestead,官方页面,然后执行如下命令

下载地址:下载地址

官方网址: 官方网址

下载完成后放到本地目录,这里我放到g盘homestead目录下。

然后在git中运行命令:

vagrant box add laravel/homestead g:/homestead.box

注意更改路径。

等待安装完毕,显示如上图则已安装成功。

5. 安装 Homestead 管理脚本

首先clone管理脚本

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

laravel开发环境homestead搭建过程详解 

创建 Homestead.yaml 配置文件

./init.bat

如果是本地安装的 homestead.box 版本为0,所以需要修改下面步骤生成的配置文件 /Users/xxxx/Homestead/scripts/homestead.rb 以下内容

config.vm.box_version = settings["version"] ''= ">= 0"

laravel开发环境homestead搭建过程详解

6.配置同步文件夹

在~/Homestead目录下Homestead.yaml文件进行配置

folders:
 - map: ~/code/code1
  to: /home/vagrant/code1

 - map: ~/code/code2
  to: /home/vagrant/code2

这里就是把本地的文件同步到虚拟机,这样就能把源码放到本地,然后运行虚拟机就能看到效果,非常的方便。

注意:

这里有误区,有的人会直接配置如下:

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

这样是无法同步成功的。

不能直接同步到vagrant里,要同步到vagrant的子目录中。

7.配置SSH 秘钥登录

用于实现 SSH 免密码登录 修改 Homestead.yaml 文件以下内容:

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

生成 key

使用命令

ssh-keygen -t rsa -C "xxxxxx@qq.com"
#后面一真按enter键,设置密码

8.连接数据库

homestead 默认已经在虚拟机中为 MySQL 和 PostgreSQL 数据库做好了配置。要从主机的数据库客户端连接到 MySQL 或 PostgreSQL ,应该连接到 127.0.0.1 ,端口 33060 (MySQL) 或 54320 (PostgreSQL)。用户名和密码分别是 homestead / secret 。

注意:只有从本地连接 Homestead 的数据库时才能使用这些非标准的端口。而 Laravel 在虚拟机中 运行时还是应该使用默认的 3306 和 5432 端口进行数据库连接。

##9.配置临时站点(域名)

一旦你的 Homestead 环境已配置并运行,你可以为你的 Laravel 应用添加额外的 Nginx 站点。你可能希望在单个 Homestead 环境运行多个 Laravel 安装。要添加额外的站点,到 Homestead.yaml 文件中添加站点:

sites:
 - map: homestead.test
  to: /home/vagrant/code1/public
 - map: homestead2.test
  to: /home/vagrant/code2/public

这时候,还需要你把本机的hosts文件添加如下两条

192.168.10.10  homestead.test
192.168.10.10  homestead2.test

10.配置全局命令

Git for Windows环境中使用

如果我们想在任何目录都可以执行 vagrant 命令,需要进行以下设置 修改 ~/.bash_profile 文件内容,这种设置只在 git for windows 软件中使用

function homestead() {
 ( cd ~/Homestead && vagrant $* )
}

这样我们就可以使用 homestead up 等方式执行了。

11.常用命令

以下这些都是常用命令,如果已经配置全局,命令,可以不进入homestead文件夹内操作,所有命令vagrant换成homestead即可。

启动

cd ~/Homestead && vagrant up

改动配置,重载配置

vagrant reload --provision

关闭

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

查看当前 Homestead 虚拟机的状态。

vagrant status

完成以上操作,基本满足开发需求,更多内容,请前往官网自行探求。

到此这篇关于laravel开发环境homestead搭建详解的文章就介绍到这了,更多相关laravel开发环境搭建内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PHP 相关文章推荐
PHP 上传文件大小限制
Jul 05 PHP
php Notice: Undefined index 错误提示解决方法
Aug 29 PHP
ThinkPHP的RBAC(基于角色权限控制)深入解析
Jun 17 PHP
php中0,null,empty,空,false,字符串关系的详细介绍
Jun 20 PHP
php 表单提交大量数据发生丢失的解决方法
Mar 03 PHP
php计算程序运行时间的简单例子分享
May 10 PHP
php实现根据词频生成tag云的方法
Apr 17 PHP
无需数据库在线投票调查php代码
Jul 20 PHP
php实现博客,论坛图片防盗链的方法
Oct 15 PHP
PHP实现模拟http请求的方法分析
Dec 20 PHP
thinkPHP5.1框架中Request类四种调用方式示例
Aug 03 PHP
PHPStorm2020.1永久激活及下载更新至2020(推荐)
Sep 25 PHP
PHP7原生MySQL数据库操作实现代码
Jul 03 #PHP
PHP 超级全局变量相关总结
Jun 30 #PHP
详细分析PHP 命名空间(namespace)
Jun 30 #PHP
浅析PHP echo 和 print 语句
Jun 30 #PHP
PHP实现抽奖功能实例代码
Jun 30 #PHP
七种PHP开发环境搭建工具
Jun 28 #PHP
如何在PHP中使用AES加密算法加密数据
Jun 24 #PHP
You might like
在VS2008中编译MYSQL5.1.48的方法
2010/07/03 PHP
php获取从html表单传递数组的方法
2015/03/20 PHP
Laravel 5.3 学习笔记之 安装
2016/08/28 PHP
php+croppic.js实现剪切上传图片功能
2018/08/14 PHP
Gambit vs ForZe BO3 第二场 2.13
2021/03/10 DOTA
阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)
2007/05/08 Javascript
jquery.boxy弹出框(后隔N秒后自动隐藏/自动跳转)
2013/01/15 Javascript
JavaScript插件化开发教程 (二)
2015/01/27 Javascript
js获取当前日期前七天的方法
2015/02/28 Javascript
JavaScript实现上下浮动的窗口效果代码
2015/10/12 Javascript
JavaScript测试工具之Karma-Jasmine的安装和使用详解
2015/12/03 Javascript
带有定位当前位置的百度地图前端web api实例代码
2016/06/21 Javascript
怎样判断jQuery当前元素是隐藏还是显示
2016/11/23 Javascript
详解vue-cli3使用
2018/08/14 Javascript
jQuery利用cookie 实现本地收藏功能(不重复无需多次命名)
2019/11/07 jQuery
vue+vant实现商品列表批量倒计时功能
2020/01/13 Javascript
Vue向后台传数组数据,springboot接收vue传的数组数据实例
2020/11/12 Javascript
Python PyQt5标准对话框用法示例
2017/08/23 Python
Python3实现简单可学习的手写体识别(实例讲解)
2017/10/21 Python
pygame游戏之旅 游戏中添加显示文字
2018/11/20 Python
关于pandas的离散化,面元划分详解
2019/11/22 Python
Python数据存储之 h5py详解
2019/12/26 Python
Python numpy多维数组实现原理详解
2020/03/10 Python
Python中flatten( ),matrix.A用法说明
2020/07/05 Python
环法自行车赛官方商店:Le Tour de France
2017/08/27 全球购物
美国非常受欢迎的Spa品牌:Bliss必列斯
2018/04/10 全球购物
SISLEY希思黎官方旗舰店:享誉全球的奢华植物美容品牌
2018/04/25 全球购物
一些Solaris面试题
2013/03/22 面试题
工程部经理岗位职责
2013/12/08 职场文书
实习单位接收函模板
2014/01/10 职场文书
企业安全生产标语
2014/06/06 职场文书
单位租房协议书范本
2014/12/04 职场文书
在职证明书模板
2015/06/15 职场文书
优秀新员工事迹材料
2019/05/13 职场文书
银行求职信范文
2019/05/13 职场文书
SQL注入的实现以及防范示例详解
2021/06/02 MySQL