首页 > 代码库 > Laravel学习之Windows下Homestead环境搭建

Laravel学习之Windows下Homestead环境搭建

一、简介

1、Homestead
Laravel Homestead是官方预封装的Vagrant box,提供给我们学习和开发者一个环境,我们在自己的电脑上不要装PHP,HHVM,WEB服务器等其他软件。也不用担心环境搭建带来的问题,Vagrant box全部都会给解决好,我们只需要使用就好。如果有问题,我们可以重新销毁vagrant box重新安装一个即可。
2、内置软件
    • Ubuntu 16.04
    • Git
    • PHP 7.0
    • HHVM
    • Nginx
    • MySQL
    • MariaDB
    • Sqlite3
    • Postgres
    • Composer
    • Node (附带了 PM2, Bower, Grunt, and Gulp)
    • Redis
    • Memcached
    • Beanstalkd
2、Vagrant
在这里会有疑问vagrant是什么,其实vagrant是一个工具,用于创建和部署虚拟化开发环境的。拿VirtualBox举例,VirtualBox会开放一个创建虚拟机的接口,Vagrant会利用这个接口创建虚拟机,并且通过Vagrant来管理,配置和自动安装虚拟机。

 

二、安装
1、安装虚拟机软件VirtaulBox或VM(推荐用VirtaulBox),然后安装vagrant软件。这里都是图形化界面安装,直接附上软件的现在地址VirtualBox,Vagrant
2、安装Homestead盒子
      在windows控制台中执行如下命令:
  1. vagrant box add laravel/homestead
这个命令会直接从网上下载Homestead盒子大概1G,又是国外的网,所以速度很慢,可以尝试先用下载工具把Homestead下载下来
附上链接:
  1. https://atlas.hashicorp.com/hashicorp/boxes/precise64/versions/1.1.0/providers/virtualbox.box
然后在windows控制台中执行如下的命令,将本地的box与laravel/homestead进行绑定:其中path/to/virtualbox.box是下载后的virtualbox.box的路径
  1. vagrant box add laravel/homestead /path/to/virtualbox.box
3、安装Homestead
  a.    如果电脑上安装了Git(没有的化就先安装一下),Git有window客户端直接安装),直接将homestead项目克隆下来,即如下的命令
  1. git clone https://github.com/laravel/homestead.git Homestead
   b.    进入Git的Git Bash终端执行如下命令,产生秘钥和公钥
  1. ssh-keygen -t rsa -C "youremail@example.com"
    c.    从window控制台中进入Homestead文件夹,执行如下初始化命令
  1. bash init.sh
   执行完命令后在C:\User\UserName\.homestead文件夹下会有Homestead.yaml配置文件,可以在这里按自己的需求进行配置,内容如下
  1. ---
  2. #虚拟机IP
  3. ip:"192.168.10.10"
  4. #虚拟机内存大小
  5. memory:2048
  6. #虚拟机cpu数量
  7. cpus:1
  8. #提供虚拟机类型
  9. provider: virtualbox
  10. #公钥SSH KEY
  11. authorize:~/.ssh/id_rsa.pub
  12. #私钥SSH KEY
  13. keys:
  14. -~/.ssh/id_rsa
  15. #共享文件夹
  16. folders:
  17. - map: D:\Xampp\htdocs\blog #自己电脑上的项目路径
  18. to:/home/vagrant/Code#映射到虚拟机中的路径
  19. #站点配置web服务器配置
  20. sites:
  21. - map: homestead.app #域名
  22. to:/home/vagrant/Code/blog/public #域名的映射地址
  23. #数据库配置
  24. databases:
  25. - homestead
  26. # blackfire:
  27. # - id: foo
  28. # token: bar
  29. # client-id: foo
  30. # client-token: bar
  31. # ports:
  32. # - send: 50000
  33. # to: 5000
  34. # - send: 7777
  35. # to: 777
  36. # protocol: udp
d.    启动测试
①若没有修改配置项执行如下命令
  1. vagrant up
可以看到终端上显示,如下结果就说明启动完成
技术分享
 ②若修改了配置项需要执行下面的命令
  1. vagrant up --provision
技术分享
 
e.    测试
①SSH测试:现在windows控制台输入
  1. vagrant ssh
进行SSH连接,执行ls命令查看是否有映射的文件夹
技术分享
②浏览器访问虚拟机站点测试
  1. http://localhost:8000/
在C:\Windows\System32\drivers\etc\hosts添加如下代码
  1. # Copyright (c) 1993-2009 Microsoft Corp.
  2. #
  3. # This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
  4. #
  5. # This file contains the mappings of IP addresses to host names. Each
  6. # entry should be kept on an individual line. The IP address should
  7. # be placed in the first column followed by the corresponding host name.
  8. # The IP address and the host name should be separated by at least one
  9. # space.
  10. #
  11. # Additionally, comments (such as these) may be inserted on individual
  12. # lines or following the machine name denoted by a ‘#‘ symbol.
  13. #
  14. # For example:
  15. #
  16. # 102.54.94.97 rhino.acme.com # source server
  17. # 38.25.63.10 x.acme.com # x client host
  18. # localhost name resolution is handled within DNS itself.
  19. # 127.0.0.1 localhost
  20. # ::1 localhost
  21. 192.168.10.10 homestead.app
在浏览器中访问即可
技术分享
③、数据连接测试
通过本地的连接工具进行连接(在这里用的是Navicat进行连接),用户名是homestead密码是secret
技术分享
 
三、总结
Homestead是个很好用的虚拟环境,只是对于没有接触过这些东西的小伙伴们可能会感觉陌生,也会踩很多坑,不过也会越玩越有兴趣。感觉Laravel的生态圈越来越完善,Laravel越来越让人着迷,希望和小伙伴们一起学习交流,后面会更新纪录自己遇到的坑和一些解决方法。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Laravel学习之Windows下Homestead环境搭建