window下的homestead部署
我这个人比较懒,图片我就不上传了基本就说说步骤,记录下安装时遇到的坑,还有各种问题。
系统环境:win7
软件:
VirtualBox 4.2.16(坑1)
Vagrant
Laravel Homestead
Git
首先安装好 VirtualBox 和 Vagrant,安装完成 Vagrant 后需要重启,重启后执行
vagrant -v
说明安装完成,提示找不到命令的把 vagrant 的bin目录加入环境变量即可。
接下来你需要执行 vagrant box add laravel/homestead 来安装 homestead 的虚拟机文件,但是以目前来看,国内这样做是下载不来的,这是下载链接
https://atlas.hashicorp.com/laravel/boxes/homestead/versions/0.2.6/providers/virtualbox.box
使用下载工具搞定后,就需要安装了
vagrant box add laravel/homestead ./homestead-0-2-6-vb.box
等待数秒即可安装完毕,add 后面两个参数,前面这个名一定要是lavavel/homestead,至于为什么我后面会讲。后面那个是你下载来的 .box 文件路径。如果提示找不到,你可以写绝对路径。如:D:/ homestead-0-2-6-vb.box.
接下来的操作需要用到 git bash 这个工具(或者你自己下个扩展的CMD,例如cygwin),下载安装好 git 之后打开 ‘git bash‘, 随便找个盘执行。我是在g盘执行的.
git clone https://github.com/laravel/homestead.git hs
然后进入g:/hs目录 下执行
bash init.sh
会在 C 盘生成一些 homestead 的配置文件,下面后修改这些配置。如果你是用cygwin的话,会在cygwin的安装目录下,有个home文件夹里面才有homestead的配置文件
在C:\Users\samliang\.homestead 找到 Homestead.yaml,下面是我的配置
ip: "192.168.10.10" <!-- 虚拟机 ip --> memory: 2048 cpus: 1 provider: virtualbox authorize: ~/.ssh/id_rsa.pub keys: - ~/.ssh/id_rsa folders: - map: g:\Code <!-- 我的window项目地址 --> to: /home/vagrant/Code <!-- 对应虚拟机的项目地址 --> sites: - map: homestead.app <!-- 添加的第一个站点名称 --> to: /home/vagrant/Code/laravel /public <!-- 该站点对应的虚拟机文件 --> databases: - homestead variables: - key: APP_ENV value: local
现在配置 SSH ,也就是上面配置中看到 ~/.ssh/id_rsa.pub 和 ~/.ssh/id_rsa
在 git bash中运行 ssh-keygen -t rsa -C "you@homestead" ,you@homestead这里填自己的邮箱就可以了。 接下里几个 回车,完成配置。
接着去到g:/hs 文件夹下运行vagrant up,第一次运行时会在 C 盘创建虚拟机文件,所以耐性等待,接下来看到我们的虚拟机启动成功。
很多教程说要运行vagrant init 其实是不用的,因为你用git clone下来的已经有一个写好的Vagrantfile文件了。这个文件是homestead配置好的初始化参数,请不要随便修改除非你明白如何修改。而init命令是为了生成Vagrantfile 文件。这个文件是对虚拟机的启动时用来初始化的参数。有兴趣的同学,可以到vagrant学习,这个文件是用ruby语法写的。
上面不是说vagrant box add laravel/homestead 这个不能更改么。这是因为这个git clone下来的Vagrantfile文件是调用这个名字laravel/homestead的box,如果你前面box add没用这个名字,就会一直提示找不到。当然你可以研究下Vagrantfile文件,找下在那里有这个配置的修改。
启动成功后。在浏览器中打开 localhost:8000,看到以下画面说明,homestead已经搭建成功。
接下来修改我们 windows 的host文件,在后面加上(坑3)
192.168.10.10 homestead.app
然后访问homestead.app可以看到同样画面。
这里要明白:配置中的
folders: - map: E:\Projects <!-- 我的window项目地址 --> to: /home/vagrant/Code <!-- 对应虚拟机的项目地址 -->
就是将主机与虚拟的这个两个目录共享,里面的文件更新都会同步。
sites: - map: homestead.app to: /home/vagrant/Code/laravel/public
这里/home/vagrant/Code/laravel/public 是homestead.app站点目录,在 g:/Code中新建一个laravel项目名称为 laravel(如何建laravel大家应该知道吧),然后在打开浏览器访问homestead.app,就是我们熟悉的画面了。
当然,你可以不建laravel项目,直接建好G:/Code/laravel/public 这些文件夹,然后在里面写php也是能直接运行的。
接下来可以进入我们的虚拟机看看环境什么的。通过 vagrant ssh 进入到虚拟机
PS:
如何增加站点:
在homestead.yaml修改如下:
sites: - map: homestead.app to: /home/vagrant/Code/laravel/public - map: php.app to: /home/vagrant/Code/phplocal - map: lala.app to: /home/vagrant/Code/lala/public
修改完后,如果虚拟机未运行,你可以执行 vagrant up –provision来更新。
如果已运行,你可以执行vagrant provision更新。
最后总结一下各种坑:
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/68357.html
- 上一篇:2.4.3的安装以及在visual
- 下一篇:C#读取Excel 几种方法的体会