Laravel 致力于让整个 PHP 开发体验变得更愉快,这其中也包括你的本地开发环境。Vagrant 提供了一种简单、优雅的方式来管理和配置虚拟机。 Laravel Homestead 是 Laravel 官方预封装的 Vagrant Box,它为你提供了一个完美的开发环境,让你不需要再本地开发机器上安装 PHP、Web 服务器以及其他的服务器软件。你再也不用担心会弄乱你的操作系统了!Vagrant Box 完全是一次性的。如果出现问题,你可以在几分钟内删除并重新创建 Box! Homestead 可以在任何 Windows、Mac 或 Linux 系统上运行,它预装好了 Nginx、PHP、MySQL、PostgreSQL、Redis、Memcached、Node 以及开发令人惊叹的 Laravel 应用程序所需的所有其他软件。
《Laravel 8 中文文档(8.x)》 转自链接:https://learnku.com/docs/laravel/8.x/homestead/9357 版权声明:翻译文档著作权归译者和 LearnKu 社区所有。转载请保留原文链接
Windows开发往往会有各种环境问题,而通过Laravel Homestead来获取一个在Windows下的完美体验
环境内默认包含
Ubuntu 18.04
Git
PHP 7.4
PHP 7.3
PHP 7.2
PHP 7.1
PHP 7.0
PHP 5.6
Nginx
MySQL
lmm for MySQL or MariaDB database snapshots
Sqlite3
PostgreSQL (9.6, 10, 11, 12)
Composer
Node (With Yarn, Bower, Grunt, and Gulp)
Redis
Memcached
Beanstalkd
Mailhog
avahi
ngrok
Xdebug
XHProf / Tideways / XHGui
wp-cli
环境
咱的环境是开启了Hyper-V(她也支持 VirtualBox 6.x, VMWare, Parallels )。
关于如何开启Hyper-V可参考
https://jingyan.baidu.com/article/ac6a9a5e1f164a2b653eac33.html
下载Vagrant
Vagrant的下载和安装非常简单,直接通过官方下载安装包,一直点击下一https://www.vagrantup.com/downloads
安装完成后(建议重启一遍电脑)
下载Homestead
Laravel官方的教程是先 “ vagrant box add laravel/homestead ” ,但是咱在安装执行了这条命令之后,再进行下面的安装还是重新拉了一遍这个,如果自己网速很快的可以先执行一次(咱感觉之后的步骤如果检测到没有会自动安装,无奈环境有限没部分测试)
使用Git将Homestead克隆到你想安装的目录
#PowerShell(咱执行环境)
cd ~
git clone https://github.com/laravel/homestead.git ./Homestead
cd Homestead/
// Windows...
init.bat
// Mac / Linux...
(备注)
// bash init.sh
配置Homestead
编辑目录下的 Homestead.yaml文件
---
ip: "192.168.90.10"
#HyperV用户IP不会自动配置为这个IP的
memory: 2048
cpus: 2
provider: hyperv
authorize: C:\Users\MercyCloud\.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: F:\Code\laravel
to: /home/vagrant/laravel
sites:
- map: laravel.test
to: /home/vagrant/laravel/public
schedule: true
#schedule(队列任务)在做进行其他项目laravel以外的项目可以去掉
databases:
- laravel
features:
- mariadb: false
- ohmyzsh: false
- webdriver: false
#咱开启ohmyzsh会出现非常卡顿的情况,默认是关闭,喜欢ohmyzsh的可以开
自带的环境是非常丰富的所以不太需要进行什么额外配置,若需要进行配置请查看官方文档
端口
默认情况下,下列端口将转发到您的 Homestead 环境
SSH: 2222 → 转发至 22 – ngrok UI: 4040 → 转发至 4040 – HTTP: 8000 → 转发至 80 – HTTPS: 44300 → 转发至 443 – MySQL: 33060 → 转发至 3306 – PostgreSQL: 54320 → 转发至 5432 – MongoDB: 27017 → 转发至 27017 – Mailhog: 8025 → 转发至 8025 – Minio: 9600 → 转发至 9600
原文作者:Laravel China 社区文档:《Laravel 8 中文文档(8.x)》
转自链接:https://learnku.com/docs/laravel/8.x/homestead/9357#first-steps
版权声明:翻译文档著作权归译者和 LearnKu 社区所有。转载请保留原文链接
启动
按照你的喜好编辑完 Homestead.yaml 之后,在 Homestead 目录下执行 vagrant up 命令,Vagrant 会启动虚拟机并自动配置你的共享文件夹和 Nginx 站点。
如需销毁虚拟机,请使用 vagrant destroy –force 命令。
原文作者:Laravel China 社区文档:《Laravel 8 中文文档(8.x)》
转自链接:https://learnku.com/docs/laravel/8.x/homestead/9357#first-steps
版权声明:翻译文档著作权归译者和 LearnKu 社区所有。转载请保留原文链接
启动时请在管理员模式的Power Shell运行(其他终端也行)
运行命令后会输出类似下图,此时候需要输入你的Windows账户及密码用于创建SMB文件共享。(如果是微软或者域账户则用户名使用默认的 user[@admin] 即可,咱用联网账户一直失败,所以改为了系统使用本地账户)输入你的账户名以及密码,密码是账户密码而不是PIN码
进入虚拟机
在HomeStead项目文件夹打开终端,输入 vagrant ssh 即可进入虚拟机
接下来你只需要在本地编写代码,浏览器访问 laravel.test (配置文件设置的域名)即可访问到你的项目(WIndows需要看虚拟机IP手动将ip和域名配置到主机的hosts文件,查看IP在虚拟机内使用 “ip a”即可。主机Hosts文件编辑请参考 https://jingyan.baidu.com/article/48b37f8d294fac1a646488b6.html)
文件是共享的,所以无论你在虚拟机进行文件变更还是主机进行文件变更都是一样的,一瞬解决各种扩展环境问题。
默认数据库账户及密码是 homestead / secret
坑点:
- 提前配置Windows为本地账户(咱原本使用微软账户登录然后创建SMB连接时要域密码登录各种失败,最后更改系统为本地账户然后就好了)
- 安装ohmyzsh会非常卡顿(原因不确定,ohmyzsh默认是不安装的,咱手贱配置了安装而已)
- 使用Hyper-V每次开机虚拟机IP都会变,每次重启要手动看IP修改hosts文件(好像可以通过软件解决,但是因为重启的不频繁所以没配置)