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 相关文章推荐
Adodb的十个实例(清晰版)
Dec 31 PHP
url decode problem 解决方法
Dec 26 PHP
YII中assets的使用示例
Jul 31 PHP
Linux下PHP连接Oracle数据库
Aug 20 PHP
WordPress中调试缩略图的相关PHP函数使用解析
Jan 07 PHP
PHP.vs.JAVA
Apr 29 PHP
深入讲解PHP的对象注入(Object Injection)
Mar 01 PHP
PHP日志LOG类定义与用法示例
Sep 06 PHP
ThinkPHP5.1框架页面跳转及修改跳转页面模版示例
May 06 PHP
基于thinkphp6.0的success、error实现方法
Nov 05 PHP
php将xml转化对象的实例详解
Nov 17 PHP
php实现自动生成验证码的实例讲解
Nov 17 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
第五节 克隆 [5]
2006/10/09 PHP
解析Linux下Varnish缓存的配置优化
2013/06/20 PHP
php实现读取和写入tab分割的文件
2015/06/01 PHP
php封装的验证码工具类完整实例
2016/10/19 PHP
PHP正则匹配操作简单示例【preg_match_all应用】
2017/07/10 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
2018/02/10 PHP
PHP设计模式概论【概念、分类、原则等】
2020/05/01 PHP
PHP $O00OO0=urldecode & eval 解密,记一次商业源码的去后门
2020/09/13 PHP
ie和firefox中img对象区别的困惑
2006/12/27 Javascript
javascript 日期时间函数(经典+完善+实用)
2009/05/27 Javascript
JavaScript 加号(+)运算符号
2009/12/06 Javascript
jquery 模拟类搜索框自动完成搜索提示功能(改进)
2010/05/24 Javascript
js获取select标签的值且兼容IE与firefox
2013/12/30 Javascript
Javascript中的包装类型介绍
2015/04/02 Javascript
jQuery 操作input中radio的技巧
2016/07/18 Javascript
又一枚精彩的弹幕效果jQuery实现
2016/07/25 Javascript
bootstrap vue.js实现tab效果
2017/02/07 Javascript
AngularJS constant和value区别详解
2017/02/28 Javascript
vue中@change兼容问题详解
2019/10/25 Javascript
vue动态路由:路由参数改变,视图不更新问题的解决
2019/11/05 Javascript
javascript使用Blob对象实现的下载文件操作示例
2020/04/18 Javascript
[01:19:11]Ti4 循环赛第二日 NaVi.us vs iG
2014/07/11 DOTA
python中的函数用法入门教程
2014/09/02 Python
Python中对列表排序实例
2015/01/04 Python
Python获取运行目录与当前脚本目录的方法
2015/06/01 Python
python+opencv实现霍夫变换检测直线
2020/10/23 Python
对python函数签名的方法详解
2019/01/22 Python
Python 简单计算要求形状面积的实例
2020/01/18 Python
意大利会呼吸的鞋:Geox健乐士
2017/02/12 全球购物
Links of London官方网站:英国标志性的珠宝品牌
2017/04/09 全球购物
大学生毕业求职的自我评价
2013/09/29 职场文书
新闻学专业应届生求职信
2013/11/08 职场文书
市场营销职业生涯规划书范文
2014/01/12 职场文书
丧事主持词大全
2014/04/02 职场文书
软件项目实施计划书
2014/05/02 职场文书
2014年领班工作总结
2014/11/25 职场文书