vagrant&homestead配置

常用的几个vagrant命令#

Copy Highlighter-hljs
$ 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 配置文件#

Copy Highlighter-hljs
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 目录。

Copy Highlighter-hljs
sites: - map: homestead.test to: /home/vagrant/Code/Laravel/public

另外,主机里直接访问虚拟机站点,必须通过绑定 hosts 来实现。接下来我们利用 hosts 文件绑定 homestead.test 到虚拟机 IP 192.168.10.10 上。

数据库配置#

我们可以为 Homestead 指定数据库名称,这里使用默认设置即可。

Copy Highlighter-hljs
databases: - homestead

Homestead 虚拟机里的 MySQL 数据库服务器连接方式为:

Copy Highlighter-hljs
Host: 127.0.0.1 Port: 33060 User: homestead Pass: secret

注意此处使用了 VirtualBox 虚拟机的『端口转发』功能,Homestead 脚本默认将本机端口 33060 转发到虚拟机里的 3306 端口。所以,只要我们连接本机的 33060 端口,即可读取虚拟机中的 MySQL 数据库。

升级 Homestead 盒子的问题#

Copy Highlighter-hljs
之前的版本是 laravel/homestead, 更新后的版本是 lc/homestead, 解决方法: 找到文件 homestead.rb 修改 config.vm.box = settings["box"] ||= "lc/homestead"
posted @   caibaotimes  阅读(226)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示
CONTENTS