准备工具
- 第一步,安装虚拟机-VirtualBox
- 第二 步,下载vagrant
- 第三步,安装完毕
vagrant
之后,运行vagrant box add laravel/homestead
运行第三步的时候,要下载的时间会比较长,可以把那个连接自己直接下载,下载之后,你如我们给它更新名字为homestead.box
。这个box
应该是有1点多G,下载后可以直接运行vagrant box add laravel/homestead homestead.box
,加载效果是一样的 - 第四步,把
homestead
克隆到本地git clone https://github.com/laravel/homestead.git ~/Homestead
此时我们举例homestead
下载到了~/Homestead
文件下面 - 第五步,创建
Homestead.yaml
配置文件
1.cd ~/Homestead
2.// Mac / Linux...
bash init.sh
2.// Windows...
init.bat
此时会生成一个Homestead.yaml
文件就是配置文件
folders: # 文件映射
- map: ~/code # 本地文件
to: /home/vagrant/code # 虚拟机对应的文件
sites: # 站点映射
- map: homestead.test #站点名称
to: /home/vagrant/code/Laravel/public # 站点对应的虚拟机文件
host文件更新
192.168.10.10 homestead.test
运行vagrant up
启动后,访问http://homestead.test
即可成功
数据库名和密码分别是homestead
、secret
名词解释
1.vagrant
Vagrant是用来管理虚拟机的,如VirtualBox、VMware、AWS等,主要好处是可以提供一个可配置、可移植和复用的软件环境,可以使用shell、chef、puppet等工具部署。所以vagrant不能单独使用,如果你用它来管理自己的开发环境的话,必须在自己的电脑里安装了虚拟机软件,我使用的是virtualbox。
Vagrant提供一个命令行工具vagrant,通过这个命令行工具可以直接启动一个虚拟机,当然你需要提前定义一个Vagrantfile文件,这有点类似Dockerfile之于docker了。
跟docker类比这来看vagrant就比较好理解了,vagrant也是用来提供一致性环境的,vagrant本身也提供一个镜像源,使用vagrant init hashicorp/precise64
就可以初始化一个Ubuntu 12.04的镜像。
2.Boxes
Vagrant的基础镜像,相当于docker images。可以在这些基础镜像的基础上制作自己的虚拟机镜像。
$ vagrant box add hashicorp/precise64
在Vagrantfile中指定box
Vagrant.configure("2") do |config|
config.vm.box = "hashicorp/precise64"
config.vm.box_version = "1.1.0"
end
分布式环境
开发分布式环境下的应用时往往需要多个虚拟机用于测试,这时候才是vagrant显威力的时候。
定义多个主机
Vagrant.configure("2") do |config|
config.vm.provision "shell", inline: "echo Hello"
config.vm.define "web" do |web|
web.vm.box = "apache"
end
config.vm.define "db" do |db|
db.vm.box = "mysql"
end
end
这个比较复杂,详见 官网multi-machine
注意事项
- 启动
vagrant up
的时候,可能出现错误1.png
这个是因为homestead.box
的版本号不符号>=6.0.0
所以此处改为>=0
即可
- 安装完毕后,账号密码都是
vagrant
数据库homestead
密码secret
如果没有完全启动,你就退出了,再次启动可能会报错
报错 解决
可以看解决步骤
首先运行
图片.pngvagrant global-status
找到正在运行的id,我的是57094f6
然后运行vagrant destroy 57094f6
当我们再次运行vagrant global-status
的时候,就发现没有运行的homestead
了。这个时候可以启动了vagrant up
可是我发现还是不行,于是我把名字homestead-7
改成了homestead-8
就可以了
图片.png但是最好的方式还是直接启动虚拟机,删除即可。
对了,正常情况下运行homestead
是不需要启动虚拟机的
图片.png
图片.png
网友评论