vagrant&homestead配置
常用的几个vagrant命令#
$ vagrant init # 初始化
$ vagrant up # 启动虚拟机
$ vagrant halt # 关闭虚拟机
$ vagrant reload # 重启虚拟机
$ vagrant ssh # 通过 SSH 登录 vagrant(需要先启动 vagrant)
$ vagrant provision # 重新应用更改 vagrant 配置
$ vagrant status # 查看虚拟机运行状态
$ vagrant destroy # 销毁当前虚拟机
#box管理命令
$ vagrant box list # 查看本地box列表
$ vagrant box add # 添加box到列表
$ vagrant box remove # 从box列表移除
Homestead.yaml 配置文件#
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
- ~/.ssh/id_rsa.pub
folders:
- map: ~/code
to: /home/vagrant/code
type: "nfs"
sites:
- map: shop.test
to: /home/vagrant/code/laravel/public
databases:
- homestead
- laravel-shop
SSH 秘钥的两个文件:#
- id_rsa —— SSH 秘钥的 私钥 (Private Key)
- id_rsa.pub —— SSH 秘钥的 公钥 (Public Key)
共享文件夹配置#
我们可以通过 folders 来指明本机要映射到 Homestead 虚拟机上的文件夹。
- map 对应的是我们本机的文件夹,格式例如:E:/Homestead/Code,以开发者实际项目目录为准。
- to 对应的是 Homestead 上的文件夹。
站点配置#
站点配置允许你在主机里,通过域名来访问虚拟机里的 Laravel 应用。如下面 sites 配置所示,将 homestead.test 映射到一个 Laravel 项目的 public 目录上。这一行配置,会命令 Homestead 为我们新建一个 Nginx 站点,并且把 Web Root 配置到指定目录下。Laravel 应用的 Nginx 站点 Web Root 配置,默认就是在根目录下的 public 目录。
sites:
- map: homestead.test
to: /home/vagrant/Code/Laravel/public
另外,主机里直接访问虚拟机站点,必须通过绑定 hosts 来实现。接下来我们利用 hosts 文件绑定 homestead.test 到虚拟机 IP 192.168.10.10 上。
数据库配置#
我们可以为 Homestead 指定数据库名称,这里使用默认设置即可。
databases:
- homestead
Homestead 虚拟机里的 MySQL 数据库服务器连接方式为:
Host: 127.0.0.1
Port: 33060
User: homestead
Pass: secret
注意此处使用了 VirtualBox 虚拟机的『端口转发』功能,Homestead 脚本默认将本机端口 33060 转发到虚拟机里的 3306 端口。所以,只要我们连接本机的 33060 端口,即可读取虚拟机中的 MySQL 数据库。
升级 Homestead 盒子的问题#
之前的版本是 laravel/homestead,
更新后的版本是 lc/homestead,
解决方法:
找到文件 homestead.rb 修改
config.vm.box = settings["box"] ||= "lc/homestead"
分类:
homestead
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?