homestead.yaml配置详解

homestead.yaml中主要字段及其意义


---
ip: "192.168.10.10"  #虚拟机的地址
memory: 2048
cpus: 1
provider: virtualbox   #虚拟机平台,用virtualbox装的一定要确认这里是virtualbox
 
authorize: ~/.ssh/id_rsa.pub     #ssh的公钥
 
keys:
    - ~/.ssh/id_rsa   #ssh的私钥,配置了ssh以后,登录虚拟机可以直接在终端输入homestead ssh进入
 
folders:  #设置文件夹机映射关系
    - map: /Users/codingLady/Code   #需要映射到虚拟机的本地机器的文件夹
      to: /home/vagrant/Code        #需要映射到虚拟机中哪个的文件夹
    
sites:  #设置域名和网站的映射关系
    - map: blogA.app                        #网站域名
      to: /home/vagrant/Code/blogA/public   #Laravel项目对应index.php的位置,以虚拟机的路径表示
      
    - map: blogB.app                        #网站域名
      to: /home/vagrant/Code/blogB/public   #Laravel项目对应index.php的位置,以虚拟机的路径表示

folders是要把本地机器某个文件夹映射到虚拟机上,也就是说登录虚拟机以后,查看/home/vagrant/Code文件夹的内容,是和Users/codingLady/Code的内容是一样的。这里需要注意两个地方:
(1)to字段里虚拟机的文件夹一定是已经在虚拟机上存在,如果不存在的话,要先建立一个,要不映射关系是建立不起来的。在虚拟机上建立文件夹的方法是:

 
#执行以下命令前,请先确认终端的当前目录是homestead的安装目录

homestead up #启动虚拟机

homestead ssh #登录虚拟机,这个时候虚拟机上的路径是/home/vagrant/

#如果folders的to的路径是/home/vagrant/Code,那么就在/home/vagrant/建立Code文件夹

mkdir Code #建立/home/vagrant/Code文件夹

exit #退出虚拟机的登录

(2)一定要检查folders的映射关系是否已经建立,检查的方法如下:

 
#登录虚拟机,步骤同前

cd Code #进入的是folders-to里面你配置的文件夹,这里是以Code文件夹为例了

ll #查看folders-to配置的文件夹下的内容,如果映射成功的话,和folder-map里的内容是一样的这样

sites 的作用是建立域名和网站的路径之间的映射关系,其中map和to的意义见前面.yaml文件的注释,要注意to里填的是从虚拟机访问index.php的路径,并且一定要用ll命令确认这个文件夹是存在并且可以访问的。所以,一般而言,sites-to里配置的是folders-to下的子路径。

配置好homestead.yaml路径以后,记得要执行下面的命令,让修改生效

homestead up --provision  #启动虚拟机,让provisioning立即生效

如果不行的话,可以先halt,再启动

 
homestead halt #关闭虚拟机

homestead up --provision #启动虚拟机,让provisioning立即生效

遇到的问题


问题一:folders正确配置了map和to,但是登录虚拟机以后,ll查看to文件夹,却看不到内容

解决方案:
(1) 检查map的路径是否是本地机器上存在的
(2) 检查to路径是否在虚拟机上存在
(3) 升级virtualBox和vagrant到最新版本(之前就卡在这里,看到有人说更新这俩版本就好了,想起来virtualBox确实也装了N久了,然后一升级还真全好了……)
(4) 是否执行了homestead up --provision,让配置立即生效

问题二:在浏览器中输入sites里map的域名,但是浏览器中却显示No input files specified.

解决方案:
(1) 检查to里面的路径有没有写错
(2) 登录虚拟机,检查to配置的文件夹是否可以访问(这里其实看的就是folders里的映射关系是否建立了,之前folders的映射关系没建立好,所以输入域名后,找不到to配置的文件夹,就出现了错误)
(3) 登录虚拟机,检查to配置的文件夹中是否存在index.php
(4) 是否执行了homestead up --provision,让配置立即生效

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值