Laravel Homestead的安装和使用(解决踩坑篇)

时间:2024-10-03 07:14:44

Homestead是什么

Laravel Homestead 是一个官方预封装的 Vagrant box,它为你提供了一个完美的开发环境,而无需在本地机器安装 PHP 、Web 服务器和其他服务器软件。不用担心会搞乱你的操作系统!Vagrant boxes 是一次性的。如果出现问题,你可以在几分钟内销毁并创建 Box!
Homestead 可以运行在任何 Windows,Mac,或 Linux 系统,它包括了 Nginx web 服务器, PHP 7.2,PHP 7.1,PHP 7.0,PHP 5.6, MySQL,PostgreSQL,Redis,Memcached, Node,以及开发 Laravel 应用程序所需要的东西。
Vagrant是构建在 虚拟化技术之上 的 虚拟机运行环境管理工具

安装

安装vagrant和 VirtualBox、git版本控制器、composer
  • Virtualbox /

  • Vagrant //

  • GIT /download/win

  • composer /download/

  • Box(1) /

  • Box(2) /

  • 官网为外网;下载速度比较慢,本人这里准备了百度云盘分享:根据自己需求加载自己想要的:

    链接:/s/1aQ87mS4M49cmpEr-qp0IaA 密码:wsxx

    百度云盘内容:vagrant 2.1.2版本 、VirtualBox 5.1.26版本、homestead-virtualbox-0.6.0版本(内置Ubuntu18.04 LTS、php7.2.5、mysql 5.7.22、 nginx/1.14.0)

Git、Virtualbox和Vagrant 安装此处就省略了,把文件下载下来,就一直下一步就好,vagrant安装完成会提示重启电脑,重启就好。composer安装略微复杂一些,之后会在别的博客补充,好,准备条件已经准备好了,下班我们开始进入正题吧,安装Homestead

安装Homestead

我的Vagrant 安装目录选择在 D:/vagrant
1.打开Git Bash 进入D: /Vagrant

cd D:
cd Vagrant
  • 1
  • 2

2.1 添加Homestead Vagrant Box 到 Vagrant (无本地box文件)

vagrant box add laravel/homestead
  • 1

1.如果报错请使用vagrant2.0以上版本,就去官网下载最新版本就好
2.这一步会下载特别慢,你可以使用下载好的BOX文件,在上班百度云盘中有,可以下载
3.如果vagrant 命令未找到,需重启git bash 或重启电脑 (你之前安装过vagrant)

2.2 homestead Vagrant Box 到 Vagrant (有本地box文件,本地文件位置在D:/vagrant/homestead-virtualbox-0.6.)

vagrant box add laravel/homestead homestead-virtualbox-0.6.
  • 1

2.3 查看是否添加成功

vagrant box list
  • 1

返回内容如下说明添加成功

mingming@DESKTOP-BIJMDOV MINGW64 /d/Vagrant
$ vagrant box list
laravel/homestead (virtualbox, 6.1.0)
  • 1
  • 2
  • 3

3.克隆 Laravel Homestead 仓库到 D:/vagrant/homestead

git clone /laravel/
cd homestead
  • 1
  • 2

4.#执行 (生成文件)

bash 
  • 1

5.创建本地工作目录

cd ..
  • 1

所以项目,存放在这个vagrant目录下,一会我们会这个这个目录为homestead的共享文件目录
6.安装 laravel

composer create-project laravel/laravel laravel --prefer-dist 5.4.*
  • 1

7.配置秘钥

cd ~/.ssh
ls
  • 1
  • 2

查看是否存在id_rsa和id_rsa.pub连个文件,如果有就不用,再生产,如果没有执行如下命令

ssh-keygen -t rsa -C "you@
  • 1

私钥秘钥配置还有不明白可以查看:/woqianduo/article/details/81074184
8.#配置 文件 (我的文件在D:/vagrant/homestead目录下);

本文件地址在你clone的位置,有好多博客会写在C盘下,不一定,可根据自己需求自己定义位置,**git clone /laravel/**这条命令觉得文件位置

ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
    - ~/.ssh/id_rsa
folders:
    - map: ~/Code
      to: /home/vagrant/Code
sites:
    - map: 
      to: /home/vagrant/Code/Laravel/public
databases:
    - homestead
variables:
    - key: APP_ENV
      value: local
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

修改为

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

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa
folders:
    - map: D:/Vagrant
      to: /home/vagrant

sites:
    - map: 
      to: /home/vagrant/laravel/public

databases:
    - homestead
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

1.正常情况下,我们配置Vagrantfile,我们配置homestead是因为作者给我们配置好了,我们只需要填充参数即可
: 虚拟机的ip地址,如果window下,本地电脑也是192.168.10.* ip段,这个时候,再填写192.168.10.10就会报错,解决方案:192.168.11.10即可解决
、keys分别代表私钥和公钥,如果使用homestead必须配置秘钥,公钥
:共享文件目录,map代表window环境,to:同步homestead文件位置
:NGINX配置文件,map代表域名,to:指向目录域名指向文件位置

8.配置windows hosts 文件
打开 C:/Windows/System32/drivers/etc/host 添加

192.168.10.10   
  • 1

9 . 如果使用本地box文件安装,需要找到homestead\scripts\文件夹中,打开文件

.box_version = settings["version"] ||= ">= 0"
  • 1

10.启动虚拟机

cd d:/homestead
vagrant up
  • 1
  • 2

最后测试一下 访问 成功 即安装完成

补充操作

  1. 进入虚拟机
vagrant ssh 
  • 1

2.登录mysql 密码为secret (查看mysql版本是否为自己想要的)

mysql -u homestead -p
  • 1

3.查看php版本、nginx版本

php -v
nginx -v
  • 1
  • 2

补充内容(vagrant常用命令)

命令 解释
vagrant box list 查看目前已有的box
vagrant box add 新增加一个box
vagrant box remove 删除指定box
vagrant init 初始化配置vagrantfile
vagrant up 启动虚拟机
vagrant ssh ssh登录虚拟机
vagrant suspend 挂起虚拟机
vagrant reload 重启虚拟机
vagrant halt 关闭虚拟机
vagrant status 查看虚拟机状态
vagrant destroy 删除虚拟机