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 access 数据连接与读取保存编辑数据的实现代码
May 12 PHP
PHP mcrypt可逆加密算法分析
Jul 19 PHP
用PHP实现的四则运算表达式计算实现代码
Aug 02 PHP
linux系统上支持php的 iconv()函数的方法
Oct 01 PHP
服务器变量 $_SERVER 的深入解析
Jul 02 PHP
通过table标签,PHP输出EXCEL的实现方法
Jul 24 PHP
Codeigniter整合Tank Auth权限类库详解
Jun 12 PHP
PHP根据传来的16进制颜色代码自动改变背景颜色
Jun 13 PHP
php在数组中查找指定值的方法
Mar 17 PHP
php返回当前日期或者指定日期是周几
May 21 PHP
Linux下编译redis和phpredis的方法
Apr 07 PHP
php与c 实现按行读取文件实例代码
Jan 03 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
学习使用curl采集curl使用方法
2012/01/11 PHP
支持中文的PHP按字符串长度分割成数组代码
2015/05/17 PHP
Zend Framework动作控制器用法示例
2016/12/09 PHP
PHP简单装饰器模式实现与用法示例
2017/06/22 PHP
thinkPHP实现基于ajax的评论回复功能
2018/06/22 PHP
Prototype Hash对象 学习
2009/07/19 Javascript
常用的JavaScript验证正则表达式汇总
2013/11/26 Javascript
jquery的each方法使用示例分享
2014/03/25 Javascript
JavaScript常用数组算法小结
2016/02/13 Javascript
对Js OOP编程 创建对象的一些全面理解
2016/07/26 Javascript
Bootstrap源码学习笔记之bootstrap进度条
2016/12/24 Javascript
bootstrap table配置参数例子
2017/01/05 Javascript
JS Select下拉框(支持输入模糊查询)
2017/02/04 Javascript
MvcPager分页控件 适用于Bootstrap
2017/06/03 Javascript
Vue.js 点击按钮显示/隐藏内容的实例代码
2018/02/08 Javascript
vue-cli项目代理proxyTable配置exclude的方法
2018/09/20 Javascript
Vue.js中 v-model 指令的修饰符详解
2018/12/03 Javascript
javascript定时器的简单应用示例【控制方块移动】
2019/06/17 Javascript
nodejs+express最简易的连接数据库的方法
2020/12/23 NodeJs
[49:42]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第一局
2016/03/04 DOTA
Python中的choice()方法使用详解
2015/05/15 Python
详解Python的Django框架中的中间件
2015/07/24 Python
python自定义异常实例详解
2017/07/11 Python
利用pyshp包给shapefile文件添加字段的实例
2019/12/06 Python
Python JSON常用编解码方法代码实例
2020/09/05 Python
HTML5新增加标签和功能概述
2016/09/05 HTML / CSS
使用Html5 Stream开发实时监控系统
2020/06/02 HTML / CSS
创业计划书——互联网商机
2014/01/12 职场文书
大学考试作弊检讨书
2014/01/30 职场文书
2014年小班元旦活动方案
2014/02/16 职场文书
董事长助理岗位职责
2014/02/18 职场文书
工伤私了协议书范本
2014/11/24 职场文书
服务行业标语口号
2015/12/26 职场文书
导游词之新疆尼雅遗址
2019/10/16 职场文书
Python中json.dumps()函数的使用解析
2021/05/17 Python
postgreSQL数据库基础知识介绍
2022/04/12 PostgreSQL