问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

为什么不建议homestead

发布网友 发布时间:2022-05-25 00:15

我来回答

1个回答

热心网友 时间:2023-11-17 21:22

Homestead安装与配置
安装 VirtualBox / VMWare 与 Vagrant
在启动你的 Homestead 环境之前,你必须先安装 VirtualBox 和 Vagrant. 两套软件在各平台都有提供易用的可视化安装程序。
VMware
除了 VirtualBox 之外, Homestead 也支持 VMware. 如果使用 VMware 作为provider, 你需要购买 VMware Fusion / Desktop 以及 VMware Vagrant plug-in. VMware 提供了更快、性能更好的共享文件夹。
增加 Vagrant 封装包
当 VirtualBox / VMware 和 Vagrant 安装完成后,你可以在终端机以下列命令将laravel/homestead封装包安装进你的 Vagrant 安装程序中。下载封装包会花你一点时间,时间长短将依据你的网络速度决定:
vagrant box add laravel/homestead
如果这个命令失败了, 你可能安装的是一个老版本的 Vagrant 需要指定一个完整的URL:
vagrant box add laravel/homestead
安装 Homestead
手动通过 Git 安装(本地端没有 PHP)
如果你不希望在你的本机上安装 PHP ,你可以简单地通过手动复制资源库的方式来安装 Homestead。将资源库复制至你的home目录中的 Homestead 文件夹,如此一来 Homestead 封装包将能提供主机服务给你所有的 Laravel(及 PHP)应用:
git clone Homestead
一旦你安装完Homestead CLI工具,即可执行bash init.sh命令来创建Homestead.yaml配置文件:
bash init.sh
此Homestead.yaml文件,将会被放置在你的~/.homestead目录中。
通过 Composer + PHP 工具
一旦封装包已经安装进你的 Vagrant 安装程序,你就可以准备通过Composer global命令来安装Homestead CLI工具:
composer global require "laravel/homestead=~2.0"
请务必确认 homestead 有被放置在目录~/.composer/vendor/bin之中,如此一来你才能在终端机中顺利执行 homestead 命令。
一旦你安装完 Homestead CLI 工具,即可执行init命令来创建Homestead.yaml配置文件:
homestead init
此Homestead.yaml将会被放置在你的~/.homestead文件夹中。如果你是使用 Mac 或 Linux,你可以直接在终端机执行homestead edit命令来编辑Homestead.yaml:
homestead edit
配置你的 Provider
在Homestead.yaml文件中的provider键表明需要使用的 Vagrant prodiver:virtualbox或者vmware_fusion,你可以根据自己的喜好设定 provider 。
provider: virtualbox
配置你的 SSH 密钥
然后你需要编辑Homestead.yaml。可以在文件中配置你的 SSH 公开密钥,以及主要机器与 Homestead 虚拟机之间的共享目录。
如果没有 SSH 密钥的话, 在 Mac 和 Linux 下,你可以利用下面的命令来创建一个 SSH 密钥组:
ssh-keygen -t rsa -C "you@homestead"
在 Windows 下,你需要安装 Git 并且使用包含在 Git 里的Git Bash来执行上述的命令。另外你也可以使用 PuTTY 和 PuTTYgen。
一旦你创建了一个 SSH 密钥,记得在你的Homestead.yaml文件中的authorize属性指明密钥路径。
配置你的共享文件夹
Homestead.yaml文件中的folders属性列出了所有你想在 Homestead 环境共享的文件夹列表。这些文件夹中的文件若有变动,他们将会同步在你的本机与 Homestead 环境里。你可以将你需要的共享文件夹都配置进去。
如果要开启 NFS,只需要在folders中加入一个标识:
folders:
- map: ~/Code
to: /home/vagrant/Code
type: "nfs"
配置你的 Nginx 站点
对 Nginx 不熟悉?没关系。sites属性允许你简单的对应一个域名到一个 homestead 环境中的目录。一个例子的站点被配置在Homestead.yaml文件中。同样的,你可以加任何你需要的站点到你的 Homestead 环境中。Homestead 可以为你每个进行中的 Laravel 应用提供方便的虚拟化环境。
你可以通过配置hhvm属性为true来让虚拟站点支持 HHVM:
sites:
- map: homestead.app
to: /home/vagrant/Code/Laravel/public
hhvm: true
Bash Aliases
如果要增加 Bash aliases 到你的 Homestead 封装包中,只要将内容添加到~/.homestead目录最上层的aliases文件中即可。
启动 Vagrant 封装包
当你根据你的喜好编辑完Homestead.yaml后,在终端机里进入你的 Homestead 文件夹并执行homestead up命令。
Vagrant 会将虚拟机开机,并且自动配置你的共享目录和 Nginx 站点。如果要移除虚拟机,可以使用vagrant destroy --force命令。
为了你的 Nginx 站点,别忘记在你的机器的hosts文件将「域名」加进去。hosts文件会将你的本地域名的站点请求指向你的 Homestead 环境中。在 Mac 和 Linux,该文件放在/etc/hosts。在 Windows 环境中,它被放置在C:\Windows\System32\drivers\etc\hosts。你要加进去的内容类似如下:
192.168.10.10 homestead.app
务必确认 IP 地址与你的Homestead.yaml文件中的相同。一旦你将域名加进你的hosts文件中,你就可以通过网页浏览器访问到你的站点。

继续读下去,你会学到如何连接到数据库!
Homestead常见用法
通过 SSH 连接
要通过 SSH 连接上您的 Homestead 环境,在终端机里进入你的 Homestead 目录并执行vagrant ssh命令。
因为你可能会经常需要通过 SSH 进入你的 Homestead 虚拟机,可以考虑在你的主要机器上创建一个别名:
alias vm="ssh vagrant@127.0.0.1 -p 2222"
一旦你创建了这个别名,无论你在主要机器的哪个目录,都可以简单地使用vm命令来通过 SSH 进入你的 Homestead 虚拟机。
连接数据库
在 Homestead 封装包中,已经预了 MySQL 与 Postgres 两种数据库。为了更简便,Laravel 的local数据库配置已经默认将其配置完成。
如果想要从本机上通过 Navicat 或者 Sequel Pro 连接 MySQL 或者 Postgres 数据库,你可以连接127.0.0.1的端口33060(MySQL) 或5432(Postgres)。而帐号密码分别是homestead / secret。
附注: 从本机端你应该只能使用这些非标准的连接端口来连接数据库。因为当 Laravel 运行在虚拟机时,在 Laravel 的数据库配置文件中依然是配置使用默认的3306及5432连接端口。
增加更多的站点
在 Homestead 环境上架且运行后,你可能会需要为 Laravel 应用程序增加更多的 Nginx 站点。你可以在单一个 Homestead 环境中运行非常多 Laravel 安装程序。有两种方式可以达成:第一种,在Homestead.yaml文件中增加站点然后执行homestead provision或者vagrant provision。
另外,也可以使用存放在 Homestead 环境中的serve命令文件。要使用serve命令文件,请先 SSH 进入 Homestead 环境中,并执行下列命令:
serve domain.app /home/vagrant/Code/path/to/public/directory
附注: 在执行serve命令过后,别忘记将新的站点加进本机的hosts文件中。
Homestead 连接端口
以下的端口将会被转发至 Homestead 环境:
SSH:2222 → Forwards To 22
HTTP:8000 → Forwards To 80
MySQL:33060 → Forwards To 3306
Postgres:54320 → Forwards To 5432
增加额外端口
你也可以自定义转发额外的端口至 Vagrant box,只需要指定协议:
ports:
- send: 93000
to: 9300
- send: 7777
to: 777
protocol: udp
Blackfire Profiler 工具
Blackfire Profiler 是由 SensioLabs 创建的一个分析工具,它会自动的收集代码执行期间的相关数据,比如 RAM, CPU time, 和 disk I/O. 如果你使用 Homestead ,那么使用这个分析工具会变得非常简单。
blackfire 所需的包已经安装在 Homestead box 中,你只需要在Homestead.yaml文件中设置Server ID和token:
blackfire:
- id: your-id
token: your-token
当你设定完 Blackfire 的凭证信息,使用homestead provision或者vagrant provision令配置生效。当然,你也需要通过阅读Blackfire 文档 来学习如何在你的浏览器中安装 Blackfire 扩展。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
瑞安皇都大厦几个电梯 办签证和护照的具体步骤和一共的费用!我需要详细一点的答案. 办护照流程 办护照的流程是什么 哪位推荐几部韩剧啊!!要像豪杰春香,魔女幼熙这样的,剧情要感人,最好是... 小阴唇内应该是光滑的吗,阴道口痒为什么 阴道口有像草莓样正常吗 任氏族谱字辈:世秉忠贞 永达明玉起 国正天元律迎祖大继昌 河南夏氏家谱辈分我是永城市酂城镇夏氏夏世界具家谱记载洪武二年始祖良... 夏侯姓字辈排行 夏氏辈行,我爷爷明字辈,我父亲应字辈,我是崇字辈,后面是什么辈? 手机忘记数字密码怎么解锁 SourceTree怎么配置UnityYAMLMerge工具? 视频转化成RMVB格式清晰度不变容量越小越好 AE导入视频文件,为什么像素比越小占用存储空间越大 世界变得越小越好吗? csol神器怎么抽 csol有牛年神器? 咱们现在CSOL的全神器是哪些 CSOL今年的新年神器是什么武器? csol有哪些神器 手机用的5A快充线可用在笔记本电脑充电器用吗? 问下csol每年神器是什么? 华为畅享九能不能使用5V=6A的充电头充电,如果可以的话,能不能搭配5A的充电线一起使用? 为什么唯品会上有华为30epro处理器有麒麟900E这是正品手机吗? 丰田亚洲龙轮毂寸是多少?哪种造型更好看? 搭3.5升V6引擎,车身高度降低15mm,全新丰田亚洲龙TRD了解下! 亚洲龙2020款参数配置 “小号”亚洲龙来了,全新丰田ALLION发布,2.0L动力配CVT 一汽丰田亚洲龙2020款实车曝光,增加运动版,8月上市 符合国人口味的一款车!2020款丰田亚洲龙 外观升级 更具侵略性! injection怎么把yaml中的转换 请问网易云音乐有没有听新闻的电台,不要搞笑的娱乐的,要社会政治的 网易新闻,网易云阅读为什么要做成两个客户端 超轻19能用水洗吗 网易云阅读 杂志 新闻 书籍 一站阅读怎么样 超轻19怎么洗 李宁超轻19怎么洗。小红书 网易云,今日头条,腾讯新闻哪个好请说明理由谢谢 手机应用里的网易云呀,腾讯新闻呀等等,可不可以停用,他说如果停用手机每部应用可能其他会发生错误 网易新闻的电台节目什么软件也可以看到 李宁超轻跑鞋怎么清洗 李宁至 轻跑鞋怎么洗 李宁11代超轻跑鞋怎么清洗 李宁超轻十九能碰水变硬怎么回事 李宁超轻19实体店洗鞋吗 超轻19能干洗吗? 北京有招聘普工的工厂吗 超轻19掉渣怎么办 李宁超轻十代跑鞋脏了怎么清洁? 李宁超轻九代的鞋子怎么弄干净