Laravel Homestead的安装和使用

16 篇文章 0 订阅
5 篇文章 0 订阅

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

Git、Virtualbox和Vagrant 安装此处就省略了,把文件下载下来,就一直下一步就好,vagrant安装完成会提示重启电脑,重启就好。
下面我们开始进入正题吧,安装Homestead

#安装Homestead
我的Vagrant 安装目录选择在 E:\HashiCorp\Vagrant

1.打开Git Bash 进入E:\HashiCorp\Vagrant

cd E:
cd HashiCorp/Vagrant

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

vagrant box add laravel/homestead

1.如果报错请使用新版本,就去官网下载最新版本就好
2.如果vagrant 命令未找到,需重启git bash 或重启电脑 (你之前安装过vagrant)

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

vagrant box add laravel/homestead 

2.3 查看是否添加成功

vagrant box list

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

在这里插入图片描述

3.克隆 Laravel Homestead 仓库到 e:/HashiCorp/Vagrant/homestead

git clone https://github.com/laravel/homestead.git
cd homestead
git checkout release

4.#执行 init.sh(生成Homestead.yaml文件)

sh init.sh

8.#配置Homestead.yaml 文件 (我的文件在D:/vagrant/homestead目录下);

Homestead配置
配置文件:根目录下的Homestead.yaml

配置共享文件夹

folders:
    - map: E:/phpStudy/PHPTutorial/WWW
      to: /home/vagrant/code

配置Nginx站点

sites:
   - map: homestead.test
      to: /home/vagrant/code/smartwms/public
ip: "192.168.56.56"
memory: 2048
cpus: 1
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
    - ~/.ssh/id_rsa
folders:
    - map: ~/Code
      to: /home/vagrant/Code
sites:
    - map: homestead.app
      to: /home/vagrant/Code/Laravel/public
databases:
    - homestead
variables:
    - key: APP_ENV
      value: local

修改为

---
ip: "192.168.56.56" #本机访问
#ip: "192.168.0.187"#局域网访问
memory: 2048
cpus: 2
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: E:/phpStudy/PHPTutorial/WWW
      to: /home/vagrant/code

sites:
    - map: smartwms.top
      to: /home/vagrant/code/smartwms/public
      php: "7.3" #设定php版本
    - map: gio.top
      to: /home/vagrant/code/gio/gio/public
      php: "7.3"
      type: thinkphp # 设定支持的框架 默认是laravel
    - map: toolbox.top
      to: /home/vagrant/code/toolbox_server/public
      php: "7.3"
      type: thinkphp

databases:
    - homestead

features:
    - mysql: true
    - mariadb: false
    - postgresql: false
    - ohmyzsh: false
    - webdriver: false

services:
    - enabled:
          - "mysql"
#    - disabled:
#        - "postgresql@11-main"

#ports:
#    - send: 33060 # MySQL/MariaDB
#      to: 3306
#    - send: 4040
#      to: 4040
#    - send: 54320 # PostgreSQL
#      to: 5432
#    - send: 8025 # Mailhog
#      to: 8025
#    - send: 9600
#      to: 9600
#    - send: 27017
#      to: 27017


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

8.配置windows hosts 文件

打开 C:/Windows/System32/drivers/etc/host 添加
192.168.56.56 smartwms.top


## 9.启动虚拟机
```bash
cd e:/HashiCorp/Vagrant/homestead
vagrant up

最后测试一下 访问 http://smartwms.top成功 即安装完成

补充操作

进入虚拟机

vagrant ssh 

退出虚拟机

exit

补充内容(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 删除虚拟机
vagrant reload --provision 重启虚拟机并重新加载配置

可参考 https://www.cnblogs.com/wjcms/p/13226008.html

homestead配置局域网访问

修改E:\HashiCorp\Vagrant\homestead\scripts文件homestead.rb

# Configure A Private Network IP
    if settings['ip'] != 'autonetwork'
      config.vm.network :private_network, ip: settings['ip'] ||= '192.168.56.56'
    else
      config.vm.network :private_network, ip: '0.0.0.0', auto_network: true
    end

改为

# Configure A Private Network IP
    if settings['ip'] != 'autonetwork'
      config.vm.network :public_network, ip: settings['ip'] ||= '192.168.56.56'
    else
      config.vm.network :private_network, ip: '0.0.0.0', auto_network: true
    end

homestead.yaml的ip更改为本机同网段未使用的ip

我本机为192.168.0.116 设置的 192.168.0.187
同步修改host文件 局域网需要访问的别的电脑也需要配置相同的host
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值