这个ip是我们访问项目时指向的虚拟机地址。
注意,如果你的配置文件地址跟我的不一样,不要随意修改,在Linux系统下,这个ip会是192.168.10.10,而Windows系统下,你的配置中一般会是192.168.1.10。而后面修改hosts文件时,请根据你的yaml文件中的ip地址做出相应修改。(具体配置请往下看)
接下来我们看到这段配置:
authorize: ~/.ssh/id_rsa.pub keys: - ~/.ssh/id_rsa这段配置中authorize后面的文件是用来ssh进入虚拟机的公钥,而keys后面的文件是我们的私钥。
所以我们需要建立用于ssh的公钥和私钥且填入相应配置中。
首先我们需要创建~/.ssh文件夹:
$ mkdir ~/.ssh $ cd ~/.ssh接下来,我们运行生成密钥的命令:
$ ssh-keygen -t rsa如图,系统会询问我们将私钥保存在什么位置,这里由于我们已经处于~/.ssh文件夹下(上一步cd操作),我们可以直接输入我们需要命名的文件名。
提示:图片中我用的文件夹名为example,纯粹是用来示例的,请大家将秘钥按上面叙述的步骤放至~/.ssh文件夹,并将文件名称命名为id_rsa。这里其实名称可以自己取,但是我们在演示中直接保留默认文件名(该步骤不输入任何文字直接回车即可)。
上一步完成后,我们看到系统提示我们输入密码。这里我们可以直接回车密码留空,因为我们在本地开发,可以省去密码这个步骤。
该步骤完成后,我们会在~/.ssh目录下看到以下两个文件:
id_rsa.pub
id_rsa
这就是第一段配置中相应的两个文件。所以我们保留默认配置即可:
authorize: ~/.ssh/id_rsa.pub keys: - ~/.ssh/id_rsa接下来我们看到这两段配置
folders: - map: ~/Code to: /home/vagrant/Code sites: - map: homestead.app to: /home/vagrant/Code/laravel/public第一段配置folders中,map后指定的文件夹(即~/Code)将被映射到虚拟机系统中to后指定的路径,即/home/vagrant/Code。
这和我们常见到的和虚拟机系统(guest system)和宿主系统(host system)文件夹共享机制类似,由于guest system不能直接访问host system中的文件夹(安全隐患),我们需要把本机的~/Code文件夹分享至虚拟机中,这样一来我们在可以在虚拟机系统中访问到我们的项目文件,并且在~/Code中所进行的修改会实时同步在虚拟机系统对应的文件中。
第二段配置sites中,定义了浏览器地址homestead.app指向虚拟机系统中/home/vagrant/Code/laravel/public这个文件夹,即Laravel项目的public文件夹。这样在浏览器中输入homestead.app,我们就可以直接看到项目主页了。
值得注意的是,由于.app域名的开放以及新的限制,不推荐使用.app及.dev作为项目访问地址后缀,可能会出现比较匪夷所思的错误。
以上的文件夹及映射是都是可以根据用户喜好更改的,比如我喜欢把我的开发文件夹叫做webdev,在里面我新建了一个叫phantastic.test的项目,那么以上的配置,我就可以做出相应修改:
folders: - map: ~/webdev to: /var/www sites: - map: phantastic.test to: /var/www/phantastic/public这里我将~/webdev文件夹映射为虚拟机内的/var/www文件夹,这样一来,我就可以在虚拟机里/var/www路径下看到host系统中~/webdev文件夹下的所有文件。
这一步完成后,我们还有一个非常重要的步骤。
在hosts文件中添加一行:
192.168.10.10 phantastic.test
注意:请根据你yaml文件中的ip进行相应的修改,例如Windows环境下,通常为192.168.1.10。
Windows的hosts文件在以下路径:
C:\Windows\System32\drivers\etc\