Laravel 官方提供 Vagrant Box,HomeStead 的使用简介

2013年01月27日 14:18:05 苏内容
  标签: Laravel/HomeStead
阅读:7328
测试使用环境

 

1
2
3
MacOS 10.9.3
Windows,Linux,大同小异
 

 

准备
  1. 下载安装 VirtualBox
  2. 下载安装 Vagrant

 

1
2
关于 Vagrant 的介绍自行百度,简单的来讲就是用命令行和配置文件控制一台虚拟机,方便开发环境部署和复制
 

 

Homestead 环境

 

1
2
3
4
5
6
7
8
9
10
11
12
Ubuntu 14.04
PHP 5.5
Nginx
MySQL
Postgres
Node (With Bower, Grunt, and Gulp)
Redis
Memcached
Beanstalkd
Laravel Envoy
Fabric + HipChat Extension
 

 

步骤
  1. 命令:vagrant box add laravel/homestead,这句会去下载一个box,需要一段时间,看网速
  2. 命令:git clone https://github.com/laravel/homestead.git Homestead,找一个目录用来存放虚拟机配置的去执行这句命令
  3. 编辑git clone后文件目录中的 Homestead.yaml 文件,一看就懂,懒得说
Homestead.yaml

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
ip: "192.168.10.10"
memory: 2048
cpus: 1
 
authorize: /Users/me/.ssh/id_rsa.pub
 
keys:
    - /Users/me/.ssh/id_rsa
 
folders:
    - map: /Users/me/Code
      to: /home/vagrant/Code
 
sites:
    - map: homestead.app
      to: /home/vagrant/Code/Laravel/public
 

 

增加站点
  1. Homestead 中新增一个domain的步骤是
  2. 在homestead.ymal 文件里面编辑好sites和folders这两个项目
  3. (此步骤貌似可选)执行 vagrant destroy,vagrant provision
  4. 进入vm ssh ,执行serve domain.app /home/vagrant/Code/path/to/public/directory
虚拟机操作
  1. 开机:vagrant up
  2. 关机:vagrant halt
  3. 销毁:vagrant destroy
  4. 以上命令需在Homestead目录下执行
访问网站
  1. 地址:http://homestead.app:8000
  2. 域名需要在本机绑定hosts,127.0.0.1 homestead.app
连接虚拟机ssh
  1. 命令:vagrant ssh
连接虚拟机Mysql
  1. 地址:127.0.0.1:33060,用户名:homestead,密码:secret
关键的端口映射列表

 

1
2
3
4
5
SSH: 2222 -> Forwards To 22
HTTP: 8000 -> Forwards To 80
MySQL: 33060 -> Forwards To 3306
Postgres: 54320 -> Forwards To 5432
 

 

经验
  1. 如果因为网络问题运行 vagrant box add laravel/homestead 的时候太慢了无法下载,就到VagrantCloud下载下来,再运行 vagrant box add laravel/homestead ./DownloadPath/BoxHaveDownloadedPath.box 导入就可以了
啃爹的坑记录:
  1. homestead 的yaml 配置文件是不能用 tab 的,必须用空格,这是记录http://stackoverflow.com/questions/24189128/cant-start-vagrant-after-laravel-homestead-installation-vagrant-up
  2. 经过长达18个小时的调试,终于找出了为什么 default: Warning: Connection timeout. Retrying... 一直卡住的原因,在我关闭wifi的时候一切都是正常的,startServer alias运行也很快,但是一旦接上光企光猫的时候就不行了,奇慢无比。回到住的地方又一切正常,为这件事我折腾了一整天睡不好,结果想到了可能不是我的系统问题,而是网络问题,又想不清楚到底是网络哪个问题,闭眼想了好久,猜有可能是dns的问题,因为我本地的hosts改了之后解析到我本机很慢很慢,我猜这个包会去路由那里卡住很久,所以可能是dns的问题,因为dns是写着网关地址的,于是我改成了上海的电信dns,然后就好了!!!装了一天的系统,结果是因为这样一个问题!!!无语!!!电信的设备不知道做了什么手脚,里面肯定有问题!
  3.  
扩展阅读