嗨,我是意大利的软件工程师Valerio。
老实说,我不是本地VM作为开发环境(Docker,Vagrant等)的早期采用者,主要是因为我认为学习需要时间,而且我的空闲时间总是非常有限。
然后我发现了Homestead ,这是Laravel官方的本地开发环境。 它解决了我的疑虑,简化了我的生活。
这绝不是参考他们的文档的替代品,我鼓励阅读此文档的任何人在之后立即阅读文档。 因此,话虽如此,本文适合您:
- 您想了解Homestead和Vagrant是什么和做什么。
- 您想知道为什么Homestead(或一般来说是本地VM)以及如何增强您的开发经验。
- 您正在扩展业务,并且使用Xampp,MAMP,您将不再能够重新创建生产环境。
我将告诉您思考过程,使我了解使用VM在本地应用程序上工作有哪些好处。
VirtualBox +流浪汉
Vagrant是自动执行虚拟机“设置和配置”过程的工具。
基本上在计算机上运行虚拟机VirtualBox就足够了。 但是VirtualBox仅准备并运行VM的硬件方面。 您可以从操作系统开始安装所需的一切。
Vagrant背后的团队已经构建了一个简单的工具,可以在VirtualBox提供的硬件之上,在输入中获取脚本(称为Vagrantfile),以自动安装和配置您希望服务器具有的所有软件和功能。
这就是为什么我们需要在PC上同时安装两者。
您可以从此处下载并安装VirtualBox : https : //www.virtualbox.org/wiki/Downloads
您可以从以下位置下载并安装Vagrant : https : //www.vagrantup.com/downloads.html
VirtualBox + Vagrant已经为您提供了为应用程序运行VM所需的一切。 但是在此阶段,您应该了解有关Vagrant的更多信息,以操纵Vagrantfile并自定义服务器配置以符合您的要求。
什么是Laravel Homestead
Laravel Homestead是预包装的Vagrant Box和Vagrant设置。 多亏了霍姆斯特德(Homestead),我才不需要学习有关流浪者的任何知识。
对于小型团队来说,这很简单,适合中小型项目,启动速度很快,足以让任何人在数秒内开始使用Laravel。
1.在您的项目上安装Homestead
我喜欢这个,主要是因为您可以像其他任何依赖项一样,使用Composer在“ 每个项目 ”中安装它:
composer require laravel/homestead --dev
2.生成Vagrantfile和Homstead.yaml
根据您的操作系统运行make命令:
Mac / Linux:
php vendor/ bin/homestead make
视窗:
vendor \\ bin \\ homestead make
3.映射项目的URL
配置文件中的第一个字段是VM的IP地址。
最好有一个URL映射此原始IP地址,以通过浏览器访问我们的应用程序。
对于“ 站点”部分, map
键引用您正在调用项目的主机名。
使用此主机名和IP地址,我们需要更新计算机的主机文件。
- Mac: / etc / hosts
- Windows :C:\ Windows \ System32 \ drivers \ etc \ hosts
在下面添加条目:
192 .168 .10 .10 demoapp .locl
这是告诉您的计算机demoapp.locl位于服务器IP地址192.168.10.10(这是您的VM)上。
提示! 要同时为多个项目运行多个VM,您需要为每个项目拥有唯一的IP。 您可以简单地增加Homestead.yaml文件中的最后一个IP地址并正确配置计算机的主机文件:
192 .168 .10 .10 demoapp .locl
192 .168 .10 .11 another-app .locl
...
在Homestead.yaml文件中,您可以看到:
schedule: true
homestead提供的此选项使我们可以使用配置为运行Laravel Task Tcheduling的cron作业来运行服务器 。 这就是我“不需要学习流浪者”的意思。
4.在应用程序内部运行VM
在您的项目目录中执行:
vagrant up
您将看到启动日志出现在您的终端中,只需要几秒钟,比控制台返回到您的控件中要多。
现在,VM正在PC中运行,您对源代码所做的每项更改都将自动在VM内部报告,因此您可以照常继续在IDE中工作。
5.使用SSH连接
您可以通过在项目目录中发出以下命令,将SSH SSH到您的虚拟机中:
vagrant ssh
提示! 如您在该图中所看到的,我通常在我的IDE中打开两个终端窗口(这是我的PHPStorm的屏幕截图):
“ Vagrant ”始终在SSH中与项目的VM一起使用。“ Local ”仅将我的本地终端指向项目的目录(默认情况下在PHPStorm中)。
花些时间阅读Homestead文档,尤其是“ 安装可选功能 ”,以检查可以在服务器中安装哪些其他软件来忠实地复制生产环境。
结论
Homestead提供了开始使用Laravel开发的完美工具。 它使您可以专注于代码而不是服务器,但是同时,它鼓励我更加熟悉服务器环境。
非常感谢您阅读它,希望它可以帮助人们开始使用本地虚拟机。
如果您想进一步了解我的产品,请访问主页https://www.inspector.dev 。 不要犹豫,在下面的评论中分享您的想法,或者直接进行实时聊天!
先前发布在https://www.inspector.dev/how-and-why-to-use-laravel-homestead-for-local-development-real-life-tips/
From: https://hackernoon.com/laravel-homestead-why-how-and-when-to-use-it-in-developement-lqer36y7