zoukankan      html  css  js  c++  java
  • 搭建laravel/homestead虚拟化开发环境

    本文章解决如下问题

    1.使用官方文档安装 laravel/homestead 实在太慢;

    2.手动下载box解压安装后使用 vagrant up 又会重新下载box ;

    3.Homestead.yaml配置不生效

     软件准备

    1.Git

    2.virtualbox6.X

    3.vagrant

    4.laravel/homestead 的box

      *可通过 vagrant box add laravel/homestead 时出现的下载链接,复制下载后更名为homestead.box

     以上如有迅雷会员,可以加速下载。

    安装 Homestead

    git克隆项目

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

    如果是windows系统, ~/Homestead 改为绝对路径

    可以checkout更新最新稳定版本的 release 分支

    cd ~/Homestead
    git checkout release

    执行init脚本来创建Homestead.yaml配置文件

    // Mac / Linux...
    bash init.sh
    
    // Windows...
    init.bat

    手动创建Homestead.json文件

    {
    "name": "laravel/homestead",
    "versions": [{
    "version": "9.5.1", //等于或大于下载的laravel/homestead box版本
    "providers": [{
    "name": "virtualbox",
    "url": "file://homestead.box" //应为下载的laravel/homestead box绝对路径
    }]
    }]
    }

    创建id_rsa

    mkdir .ssh //创建.ssh目录
    ssh-keygen -t rsa -C "youremail@example.com" //创建rsa,提示保存路径和输入密码

    会提示保存id_rsa的文件路径,保存到.ssh目录即可,必须为绝对路径。

    修改Homestead.yaml

    先将ip地址改为virtualbox仅主机网卡所在的域,一般为192.168.56.1

    ---
    ip: "192.168.56.100"
    memory: 2048
    cpus: 2
    provider: virtualbox
    ...

     如为windows系统,authorize,keys,folders,sites等配置中的 ~需要为绝对路径。

     folders为共享文件夹映射,建议直接在Homestead目录创建。

     sites为网站项目目录映射,建议同上。

    至此Homestead下载配置完成。

    安装 Homestead Vagrant Box

    cd ~/Homestead
    vagrant box add Homestead.json

      *可通过vagrant box list 查看安装的box情况。

      *若出错,可使用vagrant destroy --force  && vagrant box remove laravel/homestead 删除虚拟机解决问题后再重新安装。

    启动box,必须要在Homestead目录执行,需要等待一小段时间

    vagrant up

    如果启动后修改了Homestead.yaml配置,可以执行provision更新虚拟机配置

    vagrant reload --provision

    启动后,可以使用 vagrant ssh 命令远程管理box。

    SSH账户密码一般为vagrant/vagrant
    
    数据库用户名和密码分别是 homestead / secret

    宿主机浏览器访问box的ip即可访问,建议将sites域名添加到宿主机host。

    全局访问Homestead

    在 Mac / Linux 系统上可以在 Bash 配置文件( ~/.bash_profile )中添加 Bash 函数

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

    在Windows系统的任意位置创建一个批处理文件 homestead.bat(建议还是 Homestead目录) ,内容如下:

    @echo off
    
    set cwd=%cd%
    set homesteadVagrant=C:Homestead //这里需要为你的Homestead目录实际路径
    
    cd /d %homesteadVagrant% && vagrant %*
    cd /d %cwd%
    
    set cwd=
    set homesteadVagrant=

    创建后需将路径添加到系统变量PATH。

    该脚本/函数实际为切换到~/Homestead目录和执行vagrant命令,完成后可直接使用homestead替代vagrant命令在系统任意位置管理homestead虚拟机box。

    homestead up
    homestead ssh

    更多参考

    https://learnku.com/docs/laravel/7.x/homestead/7450#installation-and-setup

    https://segmentfault.com/q/1010000004449837

  • 相关阅读:
    Convert.ToInt32()和int.Parse()的区别
    C# 提取字符串中的数字
    asp.net FileUpload 控件上传文件 以二进制的形式存入数据库并将图片显示出来
    angularjs如何在ng-repeat过程中控制字符串长度超过指定长度后面内容以省略号显示
    html label 标签的 for 属性
    bootstrap-paginator 分页控件的使用
    时间戳的转换
    Server.MapPath() 解析
    Angularjs 日期格式转换
    1.docker 慕课入门
  • 原文地址:https://www.cnblogs.com/GaZeon/p/12893593.html
Copyright © 2011-2022 走看看