设为首页 收藏本站
查看: 1119|回复: 0

[经验分享] Laravel学习之Windows下Homestead环境搭建

[复制链接]

尚未签到

发表于 2017-12-8 15:11:24 | 显示全部楼层 |阅读模式
  一、简介

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控制台中执行如下命令:



  • vagrant box add laravel/homestead


这个命令会直接从网上下载Homestead盒子大概1G,又是国外的网,所以速度很慢,可以尝试先用下载工具把Homestead下载下来
附上链接:



  • https://atlas.hashicorp.com/hashicorp/boxes/precise64/versions/1.1.0/providers/virtualbox.box


然后在windows控制台中执行如下的命令,将本地的box与laravel/homestead进行绑定:其中path/to/virtualbox.box是下载后的virtualbox.box的路径



  • vagrant box add laravel/homestead /path/to/virtualbox.box


3、安装Homestead

  a.    如果电脑上安装了Git(没有的化就先安装一下),Git有window客户端直接安装),直接将homestead项目克隆下来,即如下的命令



  • git clone https://github.com/laravel/homestead.git Homestead


   b.    进入Git的Git Bash终端执行如下命令,产生秘钥和公钥



  • ssh-keygen -t rsa -C "youremail@example.com"


    c.    从window控制台中进入Homestead文件夹,执行如下初始化命令



  • bash init.sh


   执行完命令后在C:\User\UserName\.homestead文件夹下会有Homestead.yaml配置文件,可以在这里按自己的需求进行配置,内容如下



  • ---
  • #虚拟机IP
  • ip:"192.168.10.10"
  • #虚拟机内存大小
  • memory:2048
  • #虚拟机cpu数量
  • cpus:1
  • #提供虚拟机类型
  • provider: virtualbox
  • #公钥SSH KEY
  • authorize:~/.ssh/id_rsa.pub
  • #私钥SSH KEY
  • keys:
  • -~/.ssh/id_rsa
  • #共享文件夹
  • folders:
  • - map: D:\Xampp\htdocs\blog #自己电脑上的项目路径
  •       to:/home/vagrant/Code#映射到虚拟机中的路径
  • #站点配置web服务器配置
  • sites:
  • - map: homestead.app #域名
  •       to:/home/vagrant/Code/blog/public #域名的映射地址
  • #数据库配置
  • databases:
  • - homestead

  • # blackfire:
  • #     - id: foo
  • #       token: bar
  • #       client-id: foo
  • #       client-token: bar

  • # ports:
  • #     - send: 50000
  • #       to: 5000
  • #     - send: 7777
  • #       to: 777
  • #       protocol: udp


d.    启动测试


①若没有修改配置项执行如下命令



  • vagrant up


可以看到终端上显示,如下结果就说明启动完成

DSC0000.png


②若修改了配置项需要执行下面的命令



  • vagrant up --provision


DSC0001.png

e.    测试

①SSH测试:现在windows控制台输入



  • vagrant ssh


进行SSH连接,执行ls命令查看是否有映射的文件夹

DSC0002.png

②浏览器访问虚拟机站点测试



  • http://localhost:8000/


在C:\Windows\System32\drivers\etc\hosts添加如下代码




  • # Copyright (c) 1993-2009 Microsoft Corp.
  • #
  • # This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
  • #
  • # This file contains the mappings of IP addresses to host names. Each
  • # entry should be kept on an individual line. The IP address should
  • # be placed in the first column followed by the corresponding host name.
  • # The IP address and the host name should be separated by at least one
  • # space.
  • #
  • # Additionally, comments (such as these) may be inserted on individual
  • # lines or following the machine name denoted by a '#' symbol.
  • #
  • # For example:
  • #
  • #      102.54.94.97     rhino.acme.com          # source server
  • #       38.25.63.10     x.acme.com              # x client host

  • # localhost name resolution is handled within DNS itself.
  • #127.0.0.1       localhost
  • #::1             localhost
  • 192.168.10.10       homestead.app



在浏览器中访问即可


DSC0003.jpg

③、数据连接测试
通过本地的连接工具进行连接(在这里用的是Navicat进行连接),用户名是homestead密码是secret

DSC0004.png


三、总结
Homestead是个很好用的虚拟环境,只是对于没有接触过这些东西的小伙伴们可能会感觉陌生,也会踩很多坑,不过也会越玩越有兴趣。感觉Laravel的生态圈越来越完善,Laravel越来越让人着迷,希望和小伙伴们一起学习交流,后面会更新纪录自己遇到的坑和一些解决方法。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-422162-1-1.html 上篇帖子: Zabbix-server自动发现,批量添加主机,并链接模板 下篇帖子: webpack-dev-server使用说明
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表